java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:43:17 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742757826360">
<ol start="32" class="pre-context" id="pre139742757826360">
<li onclick="toggle('pre139742757826360', 'post139742757826360')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742757826360', 'post139742757826360')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742757826360', 'post139742757826360')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742757826360', 'post139742757826360')"><pre> """</pre></li>
<li onclick="toggle('pre139742757826360', 'post139742757826360')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742757826360', 'post139742757826360')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742757826360', 'post139742757826360')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742757826360', 'post139742757826360')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742757826360">
<li onclick="toggle('pre139742757826360', 'post139742757826360')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742757826360', 'post139742757826360')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742757826360', 'post139742757826360')"><pre> return response</pre></li>
<li onclick="toggle('pre139742757826360', 'post139742757826360')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742757826360', 'post139742757826360')"><pre></pre></li>
<li onclick="toggle('pre139742757826360', 'post139742757826360')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757826360')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757826360">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742757824920">
<ol start="242" class="pre-context" id="pre139742757824920">
<li onclick="toggle('pre139742757824920', 'post139742757824920')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742757824920', 'post139742757824920')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742757824920', 'post139742757824920')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742757824920', 'post139742757824920')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742757824920', 'post139742757824920')"><pre> break</pre></li>
<li onclick="toggle('pre139742757824920', 'post139742757824920')"><pre></pre></li>
<li onclick="toggle('pre139742757824920', 'post139742757824920')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742757824920', 'post139742757824920')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742757824920">
<li onclick="toggle('pre139742757824920', 'post139742757824920')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757824920')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757824920">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742757823912">
<ol start="171" class="pre-context" id="pre139742757823912">
<li onclick="toggle('pre139742757823912', 'post139742757823912')"><pre></pre></li>
<li onclick="toggle('pre139742757823912', 'post139742757823912')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742757823912', 'post139742757823912')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742757823912', 'post139742757823912')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742757823912', 'post139742757823912')"><pre></pre></li>
<li onclick="toggle('pre139742757823912', 'post139742757823912')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742757823912', 'post139742757823912')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742757823912', 'post139742757823912')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742757823912">
<li onclick="toggle('pre139742757823912', 'post139742757823912')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742757823912', 'post139742757823912')"><pre> break</pre></li>
<li onclick="toggle('pre139742757823912', 'post139742757823912')"><pre></pre></li>
<li onclick="toggle('pre139742757823912', 'post139742757823912')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742757823912', 'post139742757823912')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742757823912', 'post139742757823912')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757823912')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757823912">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649',), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758117176">
<ol start="39" class="pre-context" id="pre139742758117176">
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> )</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> )</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758117176">
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre></pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758117176')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758117176">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742759767792">
<ol start="60" class="pre-context" id="pre139742759767792">
<li onclick="toggle('pre139742759767792', 'post139742759767792')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742759767792', 'post139742759767792')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742759767792', 'post139742759767792')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742759767792', 'post139742759767792')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742759767792', 'post139742759767792')"><pre></pre></li>
<li onclick="toggle('pre139742759767792', 'post139742759767792')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742759767792', 'post139742759767792')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742759767792', 'post139742759767792')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742759767792">
<li onclick="toggle('pre139742759767792', 'post139742759767792')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742759767792', 'post139742759767792')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742759767792', 'post139742759767792')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742759767792', 'post139742759767792')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742759767792', 'post139742759767792')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742759767792', 'post139742759767792')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759767792')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759767792">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742757824056">
<ol start="58" class="pre-context" id="pre139742757824056">
<li onclick="toggle('pre139742757824056', 'post139742757824056')"><pre> """</pre></li>
<li onclick="toggle('pre139742757824056', 'post139742757824056')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742757824056', 'post139742757824056')"><pre> try:</pre></li>
<li onclick="toggle('pre139742757824056', 'post139742757824056')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742757824056', 'post139742757824056')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742757824056', 'post139742757824056')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742757824056', 'post139742757824056')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742757824056', 'post139742757824056')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742757824056">
<li onclick="toggle('pre139742757824056', 'post139742757824056')"><pre> )</pre></li>
<li onclick="toggle('pre139742757824056', 'post139742757824056')"><pre> else:</pre></li>
<li onclick="toggle('pre139742757824056', 'post139742757824056')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742757824056', 'post139742757824056')"><pre></pre></li>
<li onclick="toggle('pre139742757824056', 'post139742757824056')"><pre></pre></li>
<li onclick="toggle('pre139742757824056', 'post139742757824056')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757824056')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757824056">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55533'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493876597513479'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186653da30></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1888bf94f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225620649 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(UpdateSystemMetadataTestImplementations.java:413)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(UpdateSystemMetadataTestImplementations.java:382)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(MNStorageV2IT.java:253)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(UpdateSystemMetadataTestImplementations.java:418)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(UpdateSystemMetadataTestImplementations.java:382)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(MNStorageV2IT.java:253)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(UpdateSystemMetadataTestImplementations.java:418)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(UpdateSystemMetadataTestImplementations.java:382)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(MNStorageV2IT.java:253)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://dataone-test.researchworkspace.com/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225626790 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(UpdateSystemMetadataTestImplementations.java:413)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(UpdateSystemMetadataTestImplementations.java:382)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(MNStorageV2IT.java:253)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:56:27 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358531798512">
<ol start="32" class="pre-context" id="pre140358531798512">
<li onclick="toggle('pre140358531798512', 'post140358531798512')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358531798512', 'post140358531798512')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358531798512', 'post140358531798512')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358531798512', 'post140358531798512')"><pre> """</pre></li>
<li onclick="toggle('pre140358531798512', 'post140358531798512')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358531798512', 'post140358531798512')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358531798512', 'post140358531798512')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358531798512', 'post140358531798512')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358531798512">
<li onclick="toggle('pre140358531798512', 'post140358531798512')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358531798512', 'post140358531798512')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358531798512', 'post140358531798512')"><pre> return response</pre></li>
<li onclick="toggle('pre140358531798512', 'post140358531798512')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358531798512', 'post140358531798512')"><pre></pre></li>
<li onclick="toggle('pre140358531798512', 'post140358531798512')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531798512')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531798512">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358531831496">
<ol start="242" class="pre-context" id="pre140358531831496">
<li onclick="toggle('pre140358531831496', 'post140358531831496')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358531831496', 'post140358531831496')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358531831496', 'post140358531831496')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358531831496', 'post140358531831496')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358531831496', 'post140358531831496')"><pre> break</pre></li>
<li onclick="toggle('pre140358531831496', 'post140358531831496')"><pre></pre></li>
<li onclick="toggle('pre140358531831496', 'post140358531831496')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358531831496', 'post140358531831496')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358531831496">
<li onclick="toggle('pre140358531831496', 'post140358531831496')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531831496')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531831496">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358534393008">
<ol start="171" class="pre-context" id="pre140358534393008">
<li onclick="toggle('pre140358534393008', 'post140358534393008')"><pre></pre></li>
<li onclick="toggle('pre140358534393008', 'post140358534393008')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358534393008', 'post140358534393008')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358534393008', 'post140358534393008')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358534393008', 'post140358534393008')"><pre></pre></li>
<li onclick="toggle('pre140358534393008', 'post140358534393008')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358534393008', 'post140358534393008')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358534393008', 'post140358534393008')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358534393008">
<li onclick="toggle('pre140358534393008', 'post140358534393008')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534393008', 'post140358534393008')"><pre> break</pre></li>
<li onclick="toggle('pre140358534393008', 'post140358534393008')"><pre></pre></li>
<li onclick="toggle('pre140358534393008', 'post140358534393008')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358534393008', 'post140358534393008')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358534393008', 'post140358534393008')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534393008')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534393008">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358531805624">
<ol start="44" class="pre-context" id="pre140358531805624">
<li onclick="toggle('pre140358531805624', 'post140358531805624')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358531805624', 'post140358531805624')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358531805624', 'post140358531805624')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358531805624', 'post140358531805624')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358531805624', 'post140358531805624')"><pre> )</pre></li>
<li onclick="toggle('pre140358531805624', 'post140358531805624')"><pre> )</pre></li>
<li onclick="toggle('pre140358531805624', 'post140358531805624')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358531805624', 'post140358531805624')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358531805624">
<li onclick="toggle('pre140358531805624', 'post140358531805624')"><pre></pre></li>
<li onclick="toggle('pre140358531805624', 'post140358531805624')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358531805624', 'post140358531805624')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358531805624', 'post140358531805624')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358531805624', 'post140358531805624')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358531805624', 'post140358531805624')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531805624')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531805624">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358531807640">
<ol start="66" class="pre-context" id="pre140358531807640">
<li onclick="toggle('pre140358531807640', 'post140358531807640')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358531807640', 'post140358531807640')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358531807640', 'post140358531807640')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358531807640', 'post140358531807640')"><pre></pre></li>
<li onclick="toggle('pre140358531807640', 'post140358531807640')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358531807640', 'post140358531807640')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358531807640', 'post140358531807640')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358531807640', 'post140358531807640')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358531807640">
<li onclick="toggle('pre140358531807640', 'post140358531807640')"><pre> )</pre></li>
<li onclick="toggle('pre140358531807640', 'post140358531807640')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358531807640', 'post140358531807640')"><pre> request</pre></li>
<li onclick="toggle('pre140358531807640', 'post140358531807640')"><pre> )</pre></li>
<li onclick="toggle('pre140358531807640', 'post140358531807640')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358531807640', 'post140358531807640')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531807640')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531807640">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358531826896">
<ol start="62" class="pre-context" id="pre140358531826896">
<li onclick="toggle('pre140358531826896', 'post140358531826896')"><pre> """</pre></li>
<li onclick="toggle('pre140358531826896', 'post140358531826896')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358531826896', 'post140358531826896')"><pre> try:</pre></li>
<li onclick="toggle('pre140358531826896', 'post140358531826896')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358531826896', 'post140358531826896')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358531826896', 'post140358531826896')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358531826896', 'post140358531826896')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358531826896', 'post140358531826896')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358531826896">
<li onclick="toggle('pre140358531826896', 'post140358531826896')"><pre> )</pre></li>
<li onclick="toggle('pre140358531826896', 'post140358531826896')"><pre> else:</pre></li>
<li onclick="toggle('pre140358531826896', 'post140358531826896')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358531826896', 'post140358531826896')"><pre></pre></li>
<li onclick="toggle('pre140358531826896', 'post140358531826896')"><pre></pre></li>
<li onclick="toggle('pre140358531826896', 'post140358531826896')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531826896')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531826896">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57139'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877387202714'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877387202599'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877387202419'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877387202742'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7d6742540></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7d56cd470></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum201712322562787 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(UpdateSystemMetadataTestImplementations.java:413)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(UpdateSystemMetadataTestImplementations.java:382)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(MNStorageV2IT.java:253)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://ncei.nceas.ucsb.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum2017123225627389 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(UpdateSystemMetadataTestImplementations.java:413)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(UpdateSystemMetadataTestImplementations.java:382)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(MNStorageV2IT.java:253)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:43:31 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742756983080">
<ol start="32" class="pre-context" id="pre139742756983080">
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> """</pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742756983080">
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> return response</pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre></pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742756983080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742756983080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758707000">
<ol start="242" class="pre-context" id="pre139742758707000">
<li onclick="toggle('pre139742758707000', 'post139742758707000')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758707000', 'post139742758707000')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758707000', 'post139742758707000')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758707000', 'post139742758707000')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758707000', 'post139742758707000')"><pre> break</pre></li>
<li onclick="toggle('pre139742758707000', 'post139742758707000')"><pre></pre></li>
<li onclick="toggle('pre139742758707000', 'post139742758707000')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758707000', 'post139742758707000')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758707000">
<li onclick="toggle('pre139742758707000', 'post139742758707000')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758707000')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758707000">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742757929400">
<ol start="171" class="pre-context" id="pre139742757929400">
<li onclick="toggle('pre139742757929400', 'post139742757929400')"><pre></pre></li>
<li onclick="toggle('pre139742757929400', 'post139742757929400')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742757929400', 'post139742757929400')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742757929400', 'post139742757929400')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742757929400', 'post139742757929400')"><pre></pre></li>
<li onclick="toggle('pre139742757929400', 'post139742757929400')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742757929400', 'post139742757929400')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742757929400', 'post139742757929400')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742757929400">
<li onclick="toggle('pre139742757929400', 'post139742757929400')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742757929400', 'post139742757929400')"><pre> break</pre></li>
<li onclick="toggle('pre139742757929400', 'post139742757929400')"><pre></pre></li>
<li onclick="toggle('pre139742757929400', 'post139742757929400')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742757929400', 'post139742757929400')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742757929400', 'post139742757929400')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757929400')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757929400">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742782933976">
<ol start="39" class="pre-context" id="pre139742782933976">
<li onclick="toggle('pre139742782933976', 'post139742782933976')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742782933976', 'post139742782933976')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742782933976', 'post139742782933976')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742782933976', 'post139742782933976')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742782933976', 'post139742782933976')"><pre> )</pre></li>
<li onclick="toggle('pre139742782933976', 'post139742782933976')"><pre> )</pre></li>
<li onclick="toggle('pre139742782933976', 'post139742782933976')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742782933976', 'post139742782933976')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742782933976">
<li onclick="toggle('pre139742782933976', 'post139742782933976')"><pre></pre></li>
<li onclick="toggle('pre139742782933976', 'post139742782933976')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742782933976', 'post139742782933976')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742782933976', 'post139742782933976')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742782933976', 'post139742782933976')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742782933976', 'post139742782933976')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742782933976')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742782933976">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758749680">
<ol start="60" class="pre-context" id="pre139742758749680">
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre></pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758749680">
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758749680')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758749680">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742756983008">
<ol start="58" class="pre-context" id="pre139742756983008">
<li onclick="toggle('pre139742756983008', 'post139742756983008')"><pre> """</pre></li>
<li onclick="toggle('pre139742756983008', 'post139742756983008')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742756983008', 'post139742756983008')"><pre> try:</pre></li>
<li onclick="toggle('pre139742756983008', 'post139742756983008')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742756983008', 'post139742756983008')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742756983008', 'post139742756983008')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742756983008', 'post139742756983008')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742756983008', 'post139742756983008')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742756983008">
<li onclick="toggle('pre139742756983008', 'post139742756983008')"><pre> )</pre></li>
<li onclick="toggle('pre139742756983008', 'post139742756983008')"><pre> else:</pre></li>
<li onclick="toggle('pre139742756983008', 'post139742756983008')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742756983008', 'post139742756983008')"><pre></pre></li>
<li onclick="toggle('pre139742756983008', 'post139742756983008')"><pre></pre></li>
<li onclick="toggle('pre139742756983008', 'post139742756983008')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742756983008')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742756983008">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter2017123225634629'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6221873322300696162.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2302847085840258845.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18967'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=IAu-Jn6JzEBAmwtXssN-8tkBcUqrm5GF0'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55600'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493876611310739'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186653da30></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1888bf94f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(UpdateSystemMetadataTestImplementations.java:464)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(UpdateSystemMetadataTestImplementations.java:428)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(MNStorageV2IT.java:259)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(UpdateSystemMetadataTestImplementations.java:464)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(UpdateSystemMetadataTestImplementations.java:428)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(MNStorageV2IT.java:259)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(UpdateSystemMetadataTestImplementations.java:464)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(UpdateSystemMetadataTestImplementations.java:428)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(MNStorageV2IT.java:259)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(UpdateSystemMetadataTestImplementations.java:464)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(UpdateSystemMetadataTestImplementations.java:428)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(MNStorageV2IT.java:259)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:56:39 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562461024">
<ol start="32" class="pre-context" id="pre140358562461024">
<li onclick="toggle('pre140358562461024', 'post140358562461024')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562461024', 'post140358562461024')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562461024', 'post140358562461024')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562461024', 'post140358562461024')"><pre> """</pre></li>
<li onclick="toggle('pre140358562461024', 'post140358562461024')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562461024', 'post140358562461024')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562461024', 'post140358562461024')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562461024', 'post140358562461024')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562461024">
<li onclick="toggle('pre140358562461024', 'post140358562461024')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562461024', 'post140358562461024')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562461024', 'post140358562461024')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562461024', 'post140358562461024')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562461024', 'post140358562461024')"><pre></pre></li>
<li onclick="toggle('pre140358562461024', 'post140358562461024')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562461024')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562461024">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358563579376">
<ol start="242" class="pre-context" id="pre140358563579376">
<li onclick="toggle('pre140358563579376', 'post140358563579376')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358563579376', 'post140358563579376')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358563579376', 'post140358563579376')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358563579376', 'post140358563579376')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563579376', 'post140358563579376')"><pre> break</pre></li>
<li onclick="toggle('pre140358563579376', 'post140358563579376')"><pre></pre></li>
<li onclick="toggle('pre140358563579376', 'post140358563579376')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358563579376', 'post140358563579376')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358563579376">
<li onclick="toggle('pre140358563579376', 'post140358563579376')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563579376')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563579376">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358568229704">
<ol start="171" class="pre-context" id="pre140358568229704">
<li onclick="toggle('pre140358568229704', 'post140358568229704')"><pre></pre></li>
<li onclick="toggle('pre140358568229704', 'post140358568229704')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358568229704', 'post140358568229704')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358568229704', 'post140358568229704')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358568229704', 'post140358568229704')"><pre></pre></li>
<li onclick="toggle('pre140358568229704', 'post140358568229704')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358568229704', 'post140358568229704')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358568229704', 'post140358568229704')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358568229704">
<li onclick="toggle('pre140358568229704', 'post140358568229704')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358568229704', 'post140358568229704')"><pre> break</pre></li>
<li onclick="toggle('pre140358568229704', 'post140358568229704')"><pre></pre></li>
<li onclick="toggle('pre140358568229704', 'post140358568229704')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358568229704', 'post140358568229704')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358568229704', 'post140358568229704')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358568229704')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358568229704">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562714112">
<ol start="44" class="pre-context" id="pre140358562714112">
<li onclick="toggle('pre140358562714112', 'post140358562714112')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562714112', 'post140358562714112')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562714112', 'post140358562714112')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562714112', 'post140358562714112')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562714112', 'post140358562714112')"><pre> )</pre></li>
<li onclick="toggle('pre140358562714112', 'post140358562714112')"><pre> )</pre></li>
<li onclick="toggle('pre140358562714112', 'post140358562714112')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562714112', 'post140358562714112')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562714112">
<li onclick="toggle('pre140358562714112', 'post140358562714112')"><pre></pre></li>
<li onclick="toggle('pre140358562714112', 'post140358562714112')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562714112', 'post140358562714112')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562714112', 'post140358562714112')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562714112', 'post140358562714112')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562714112', 'post140358562714112')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562714112')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562714112">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562277280">
<ol start="66" class="pre-context" id="pre140358562277280">
<li onclick="toggle('pre140358562277280', 'post140358562277280')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562277280', 'post140358562277280')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562277280', 'post140358562277280')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562277280', 'post140358562277280')"><pre></pre></li>
<li onclick="toggle('pre140358562277280', 'post140358562277280')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562277280', 'post140358562277280')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562277280', 'post140358562277280')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562277280', 'post140358562277280')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562277280">
<li onclick="toggle('pre140358562277280', 'post140358562277280')"><pre> )</pre></li>
<li onclick="toggle('pre140358562277280', 'post140358562277280')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562277280', 'post140358562277280')"><pre> request</pre></li>
<li onclick="toggle('pre140358562277280', 'post140358562277280')"><pre> )</pre></li>
<li onclick="toggle('pre140358562277280', 'post140358562277280')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562277280', 'post140358562277280')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562277280')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562277280">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562279224">
<ol start="62" class="pre-context" id="pre140358562279224">
<li onclick="toggle('pre140358562279224', 'post140358562279224')"><pre> """</pre></li>
<li onclick="toggle('pre140358562279224', 'post140358562279224')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562279224', 'post140358562279224')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562279224', 'post140358562279224')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562279224', 'post140358562279224')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562279224', 'post140358562279224')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562279224', 'post140358562279224')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562279224', 'post140358562279224')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562279224">
<li onclick="toggle('pre140358562279224', 'post140358562279224')"><pre> )</pre></li>
<li onclick="toggle('pre140358562279224', 'post140358562279224')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562279224', 'post140358562279224')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562279224', 'post140358562279224')"><pre></pre></li>
<li onclick="toggle('pre140358562279224', 'post140358562279224')"><pre></pre></li>
<li onclick="toggle('pre140358562279224', 'post140358562279224')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562279224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562279224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter2017123225639222'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6978775921523414382.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6515681394781721118.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18985'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=XD1_ukO7kJ2Xpgj5fJJBdLhtEqkmYzmG_jjpBH'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57197'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877399267891'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877399267742'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877399267528'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877399267923'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7d6742540></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7d538cd70></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(UpdateSystemMetadataTestImplementations.java:464)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(UpdateSystemMetadataTestImplementations.java:428)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(MNStorageV2IT.java:259)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(UpdateSystemMetadataTestImplementations.java:464)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(UpdateSystemMetadataTestImplementations.java:428)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(MNStorageV2IT.java:259)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:43:44 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758683064">
<ol start="32" class="pre-context" id="pre139742758683064">
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> """</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758683064">
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre></pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758683064')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758683064">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742760424224">
<ol start="242" class="pre-context" id="pre139742760424224">
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> break</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre></pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742760424224">
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742760424224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742760424224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742757782304">
<ol start="171" class="pre-context" id="pre139742757782304">
<li onclick="toggle('pre139742757782304', 'post139742757782304')"><pre></pre></li>
<li onclick="toggle('pre139742757782304', 'post139742757782304')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742757782304', 'post139742757782304')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742757782304', 'post139742757782304')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742757782304', 'post139742757782304')"><pre></pre></li>
<li onclick="toggle('pre139742757782304', 'post139742757782304')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742757782304', 'post139742757782304')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742757782304', 'post139742757782304')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742757782304">
<li onclick="toggle('pre139742757782304', 'post139742757782304')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742757782304', 'post139742757782304')"><pre> break</pre></li>
<li onclick="toggle('pre139742757782304', 'post139742757782304')"><pre></pre></li>
<li onclick="toggle('pre139742757782304', 'post139742757782304')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742757782304', 'post139742757782304')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742757782304', 'post139742757782304')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757782304')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757782304">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312',), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742757782880">
<ol start="39" class="pre-context" id="pre139742757782880">
<li onclick="toggle('pre139742757782880', 'post139742757782880')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742757782880', 'post139742757782880')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742757782880', 'post139742757782880')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742757782880', 'post139742757782880')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742757782880', 'post139742757782880')"><pre> )</pre></li>
<li onclick="toggle('pre139742757782880', 'post139742757782880')"><pre> )</pre></li>
<li onclick="toggle('pre139742757782880', 'post139742757782880')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742757782880', 'post139742757782880')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742757782880">
<li onclick="toggle('pre139742757782880', 'post139742757782880')"><pre></pre></li>
<li onclick="toggle('pre139742757782880', 'post139742757782880')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742757782880', 'post139742757782880')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742757782880', 'post139742757782880')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742757782880', 'post139742757782880')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742757782880', 'post139742757782880')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757782880')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757782880">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742757781872">
<ol start="60" class="pre-context" id="pre139742757781872">
<li onclick="toggle('pre139742757781872', 'post139742757781872')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742757781872', 'post139742757781872')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742757781872', 'post139742757781872')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742757781872', 'post139742757781872')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742757781872', 'post139742757781872')"><pre></pre></li>
<li onclick="toggle('pre139742757781872', 'post139742757781872')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742757781872', 'post139742757781872')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742757781872', 'post139742757781872')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742757781872">
<li onclick="toggle('pre139742757781872', 'post139742757781872')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742757781872', 'post139742757781872')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742757781872', 'post139742757781872')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742757781872', 'post139742757781872')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742757781872', 'post139742757781872')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742757781872', 'post139742757781872')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757781872')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757781872">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742759914816">
<ol start="58" class="pre-context" id="pre139742759914816">
<li onclick="toggle('pre139742759914816', 'post139742759914816')"><pre> """</pre></li>
<li onclick="toggle('pre139742759914816', 'post139742759914816')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742759914816', 'post139742759914816')"><pre> try:</pre></li>
<li onclick="toggle('pre139742759914816', 'post139742759914816')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742759914816', 'post139742759914816')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742759914816', 'post139742759914816')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742759914816', 'post139742759914816')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742759914816', 'post139742759914816')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742759914816">
<li onclick="toggle('pre139742759914816', 'post139742759914816')"><pre> )</pre></li>
<li onclick="toggle('pre139742759914816', 'post139742759914816')"><pre> else:</pre></li>
<li onclick="toggle('pre139742759914816', 'post139742759914816')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742759914816', 'post139742759914816')"><pre></pre></li>
<li onclick="toggle('pre139742759914816', 'post139742759914816')"><pre></pre></li>
<li onclick="toggle('pre139742759914816', 'post139742759914816')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759914816')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759914816">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55650'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493876623967062'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18659cc2f0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865817a30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225647312 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(UpdateSystemMetadataTestImplementations.java:502)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(UpdateSystemMetadataTestImplementations.java:474)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(MNStorageV2IT.java:265)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(UpdateSystemMetadataTestImplementations.java:507)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(UpdateSystemMetadataTestImplementations.java:474)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(MNStorageV2IT.java:265)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(UpdateSystemMetadataTestImplementations.java:507)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(UpdateSystemMetadataTestImplementations.java:474)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(MNStorageV2IT.java:265)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://dataone-test.researchworkspace.com/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652381 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(UpdateSystemMetadataTestImplementations.java:502)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(UpdateSystemMetadataTestImplementations.java:474)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(MNStorageV2IT.java:265)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:56:52 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358564338288">
<ol start="32" class="pre-context" id="pre140358564338288">
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> """</pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358564338288">
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> return response</pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre></pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564338288')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564338288">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358564816584">
<ol start="242" class="pre-context" id="pre140358564816584">
<li onclick="toggle('pre140358564816584', 'post140358564816584')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358564816584', 'post140358564816584')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358564816584', 'post140358564816584')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358564816584', 'post140358564816584')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564816584', 'post140358564816584')"><pre> break</pre></li>
<li onclick="toggle('pre140358564816584', 'post140358564816584')"><pre></pre></li>
<li onclick="toggle('pre140358564816584', 'post140358564816584')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358564816584', 'post140358564816584')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358564816584">
<li onclick="toggle('pre140358564816584', 'post140358564816584')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564816584')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564816584">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358564257520">
<ol start="171" class="pre-context" id="pre140358564257520">
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre></pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre></pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358564257520">
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> break</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre></pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564257520')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564257520">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358564254064">
<ol start="44" class="pre-context" id="pre140358564254064">
<li onclick="toggle('pre140358564254064', 'post140358564254064')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358564254064', 'post140358564254064')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358564254064', 'post140358564254064')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358564254064', 'post140358564254064')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358564254064', 'post140358564254064')"><pre> )</pre></li>
<li onclick="toggle('pre140358564254064', 'post140358564254064')"><pre> )</pre></li>
<li onclick="toggle('pre140358564254064', 'post140358564254064')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358564254064', 'post140358564254064')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358564254064">
<li onclick="toggle('pre140358564254064', 'post140358564254064')"><pre></pre></li>
<li onclick="toggle('pre140358564254064', 'post140358564254064')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358564254064', 'post140358564254064')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358564254064', 'post140358564254064')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358564254064', 'post140358564254064')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358564254064', 'post140358564254064')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564254064')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564254064">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358564257376">
<ol start="66" class="pre-context" id="pre140358564257376">
<li onclick="toggle('pre140358564257376', 'post140358564257376')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358564257376', 'post140358564257376')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358564257376', 'post140358564257376')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358564257376', 'post140358564257376')"><pre></pre></li>
<li onclick="toggle('pre140358564257376', 'post140358564257376')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358564257376', 'post140358564257376')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358564257376', 'post140358564257376')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358564257376', 'post140358564257376')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358564257376">
<li onclick="toggle('pre140358564257376', 'post140358564257376')"><pre> )</pre></li>
<li onclick="toggle('pre140358564257376', 'post140358564257376')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358564257376', 'post140358564257376')"><pre> request</pre></li>
<li onclick="toggle('pre140358564257376', 'post140358564257376')"><pre> )</pre></li>
<li onclick="toggle('pre140358564257376', 'post140358564257376')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358564257376', 'post140358564257376')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564257376')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564257376">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358564253920">
<ol start="62" class="pre-context" id="pre140358564253920">
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> """</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> try:</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358564253920">
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> )</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> else:</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre></pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre></pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564253920')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564253920">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57253'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877412567183'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877412567015'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877412566801'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877412567215'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c65d17c8></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c6482170></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652539 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(UpdateSystemMetadataTestImplementations.java:502)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(UpdateSystemMetadataTestImplementations.java:474)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(MNStorageV2IT.java:265)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://ncei.nceas.ucsb.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_2017123225652681 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(UpdateSystemMetadataTestImplementations.java:502)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(UpdateSystemMetadataTestImplementations.java:474)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(MNStorageV2IT.java:265)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:57:00 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742737498408">
<ol start="32" class="pre-context" id="pre139742737498408">
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> """</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742737498408">
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> return response</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre></pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737498408')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737498408">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742783523440">
<ol start="242" class="pre-context" id="pre139742783523440">
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> break</pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre></pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742783523440">
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742783523440')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742783523440">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758435008">
<ol start="171" class="pre-context" id="pre139742758435008">
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre></pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre></pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758435008">
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> break</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre></pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758435008')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758435008">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666',), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758981784">
<ol start="39" class="pre-context" id="pre139742758981784">
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> )</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> )</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758981784">
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre></pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758981784')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758981784">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742761824984">
<ol start="60" class="pre-context" id="pre139742761824984">
<li onclick="toggle('pre139742761824984', 'post139742761824984')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742761824984', 'post139742761824984')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742761824984', 'post139742761824984')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742761824984', 'post139742761824984')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742761824984', 'post139742761824984')"><pre></pre></li>
<li onclick="toggle('pre139742761824984', 'post139742761824984')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742761824984', 'post139742761824984')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742761824984', 'post139742761824984')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742761824984">
<li onclick="toggle('pre139742761824984', 'post139742761824984')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742761824984', 'post139742761824984')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742761824984', 'post139742761824984')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742761824984', 'post139742761824984')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742761824984', 'post139742761824984')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742761824984', 'post139742761824984')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761824984')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761824984">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742767852648">
<ol start="58" class="pre-context" id="pre139742767852648">
<li onclick="toggle('pre139742767852648', 'post139742767852648')"><pre> """</pre></li>
<li onclick="toggle('pre139742767852648', 'post139742767852648')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742767852648', 'post139742767852648')"><pre> try:</pre></li>
<li onclick="toggle('pre139742767852648', 'post139742767852648')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742767852648', 'post139742767852648')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742767852648', 'post139742767852648')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742767852648', 'post139742767852648')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742767852648', 'post139742767852648')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742767852648">
<li onclick="toggle('pre139742767852648', 'post139742767852648')"><pre> )</pre></li>
<li onclick="toggle('pre139742767852648', 'post139742767852648')"><pre> else:</pre></li>
<li onclick="toggle('pre139742767852648', 'post139742767852648')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742767852648', 'post139742767852648')"><pre></pre></li>
<li onclick="toggle('pre139742767852648', 'post139742767852648')"><pre></pre></li>
<li onclick="toggle('pre139742767852648', 'post139742767852648')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742767852648')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742767852648">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55699'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877420018287'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186564e5b0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865629870></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_2017123225659666 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(UpdateSystemMetadataTestImplementations.java:545)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(UpdateSystemMetadataTestImplementations.java:517)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(MNStorageV2IT.java:271)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(UpdateSystemMetadataTestImplementations.java:550)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(UpdateSystemMetadataTestImplementations.java:517)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(MNStorageV2IT.java:271)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(UpdateSystemMetadataTestImplementations.java:550)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(UpdateSystemMetadataTestImplementations.java:517)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(MNStorageV2IT.java:271)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://dataone-test.researchworkspace.com/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574822 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(UpdateSystemMetadataTestImplementations.java:545)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(UpdateSystemMetadataTestImplementations.java:517)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(MNStorageV2IT.java:271)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:57:05 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358534354488">
<ol start="32" class="pre-context" id="pre140358534354488">
<li onclick="toggle('pre140358534354488', 'post140358534354488')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358534354488', 'post140358534354488')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358534354488', 'post140358534354488')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358534354488', 'post140358534354488')"><pre> """</pre></li>
<li onclick="toggle('pre140358534354488', 'post140358534354488')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358534354488', 'post140358534354488')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358534354488', 'post140358534354488')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358534354488', 'post140358534354488')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358534354488">
<li onclick="toggle('pre140358534354488', 'post140358534354488')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358534354488', 'post140358534354488')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358534354488', 'post140358534354488')"><pre> return response</pre></li>
<li onclick="toggle('pre140358534354488', 'post140358534354488')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358534354488', 'post140358534354488')"><pre></pre></li>
<li onclick="toggle('pre140358534354488', 'post140358534354488')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534354488')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534354488">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358534354056">
<ol start="242" class="pre-context" id="pre140358534354056">
<li onclick="toggle('pre140358534354056', 'post140358534354056')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358534354056', 'post140358534354056')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358534354056', 'post140358534354056')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358534354056', 'post140358534354056')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534354056', 'post140358534354056')"><pre> break</pre></li>
<li onclick="toggle('pre140358534354056', 'post140358534354056')"><pre></pre></li>
<li onclick="toggle('pre140358534354056', 'post140358534354056')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358534354056', 'post140358534354056')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358534354056">
<li onclick="toggle('pre140358534354056', 'post140358534354056')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534354056')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534354056">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358534354920">
<ol start="171" class="pre-context" id="pre140358534354920">
<li onclick="toggle('pre140358534354920', 'post140358534354920')"><pre></pre></li>
<li onclick="toggle('pre140358534354920', 'post140358534354920')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358534354920', 'post140358534354920')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358534354920', 'post140358534354920')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358534354920', 'post140358534354920')"><pre></pre></li>
<li onclick="toggle('pre140358534354920', 'post140358534354920')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358534354920', 'post140358534354920')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358534354920', 'post140358534354920')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358534354920">
<li onclick="toggle('pre140358534354920', 'post140358534354920')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534354920', 'post140358534354920')"><pre> break</pre></li>
<li onclick="toggle('pre140358534354920', 'post140358534354920')"><pre></pre></li>
<li onclick="toggle('pre140358534354920', 'post140358534354920')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358534354920', 'post140358534354920')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358534354920', 'post140358534354920')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534354920')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534354920">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358534353048">
<ol start="44" class="pre-context" id="pre140358534353048">
<li onclick="toggle('pre140358534353048', 'post140358534353048')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358534353048', 'post140358534353048')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358534353048', 'post140358534353048')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358534353048', 'post140358534353048')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358534353048', 'post140358534353048')"><pre> )</pre></li>
<li onclick="toggle('pre140358534353048', 'post140358534353048')"><pre> )</pre></li>
<li onclick="toggle('pre140358534353048', 'post140358534353048')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358534353048', 'post140358534353048')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358534353048">
<li onclick="toggle('pre140358534353048', 'post140358534353048')"><pre></pre></li>
<li onclick="toggle('pre140358534353048', 'post140358534353048')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358534353048', 'post140358534353048')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358534353048', 'post140358534353048')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358534353048', 'post140358534353048')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358534353048', 'post140358534353048')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534353048')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534353048">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358534355784">
<ol start="66" class="pre-context" id="pre140358534355784">
<li onclick="toggle('pre140358534355784', 'post140358534355784')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358534355784', 'post140358534355784')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358534355784', 'post140358534355784')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358534355784', 'post140358534355784')"><pre></pre></li>
<li onclick="toggle('pre140358534355784', 'post140358534355784')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358534355784', 'post140358534355784')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358534355784', 'post140358534355784')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358534355784', 'post140358534355784')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358534355784">
<li onclick="toggle('pre140358534355784', 'post140358534355784')"><pre> )</pre></li>
<li onclick="toggle('pre140358534355784', 'post140358534355784')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358534355784', 'post140358534355784')"><pre> request</pre></li>
<li onclick="toggle('pre140358534355784', 'post140358534355784')"><pre> )</pre></li>
<li onclick="toggle('pre140358534355784', 'post140358534355784')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358534355784', 'post140358534355784')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534355784')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534355784">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358534353120">
<ol start="62" class="pre-context" id="pre140358534353120">
<li onclick="toggle('pre140358534353120', 'post140358534353120')"><pre> """</pre></li>
<li onclick="toggle('pre140358534353120', 'post140358534353120')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358534353120', 'post140358534353120')"><pre> try:</pre></li>
<li onclick="toggle('pre140358534353120', 'post140358534353120')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358534353120', 'post140358534353120')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358534353120', 'post140358534353120')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358534353120', 'post140358534353120')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358534353120', 'post140358534353120')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358534353120">
<li onclick="toggle('pre140358534353120', 'post140358534353120')"><pre> )</pre></li>
<li onclick="toggle('pre140358534353120', 'post140358534353120')"><pre> else:</pre></li>
<li onclick="toggle('pre140358534353120', 'post140358534353120')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358534353120', 'post140358534353120')"><pre></pre></li>
<li onclick="toggle('pre140358534353120', 'post140358534353120')"><pre></pre></li>
<li onclick="toggle('pre140358534353120', 'post140358534353120')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534353120')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534353120">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57307'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877425010063'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877425009882'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877425009649'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877425010095'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c494dfa8></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c69199b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322574982 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(UpdateSystemMetadataTestImplementations.java:545)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(UpdateSystemMetadataTestImplementations.java:517)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(MNStorageV2IT.java:271)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://ncei.nceas.ucsb.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_201712322575125 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(UpdateSystemMetadataTestImplementations.java:545)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(UpdateSystemMetadataTestImplementations.java:517)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(MNStorageV2IT.java:271)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:57:12 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742759904464">
<ol start="32" class="pre-context" id="pre139742759904464">
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> """</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742759904464">
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> return response</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre></pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759904464')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759904464">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742759444064">
<ol start="242" class="pre-context" id="pre139742759444064">
<li onclick="toggle('pre139742759444064', 'post139742759444064')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742759444064', 'post139742759444064')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742759444064', 'post139742759444064')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742759444064', 'post139742759444064')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742759444064', 'post139742759444064')"><pre> break</pre></li>
<li onclick="toggle('pre139742759444064', 'post139742759444064')"><pre></pre></li>
<li onclick="toggle('pre139742759444064', 'post139742759444064')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742759444064', 'post139742759444064')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742759444064">
<li onclick="toggle('pre139742759444064', 'post139742759444064')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759444064')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759444064">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742761220432">
<ol start="171" class="pre-context" id="pre139742761220432">
<li onclick="toggle('pre139742761220432', 'post139742761220432')"><pre></pre></li>
<li onclick="toggle('pre139742761220432', 'post139742761220432')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742761220432', 'post139742761220432')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742761220432', 'post139742761220432')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742761220432', 'post139742761220432')"><pre></pre></li>
<li onclick="toggle('pre139742761220432', 'post139742761220432')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742761220432', 'post139742761220432')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742761220432', 'post139742761220432')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742761220432">
<li onclick="toggle('pre139742761220432', 'post139742761220432')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761220432', 'post139742761220432')"><pre> break</pre></li>
<li onclick="toggle('pre139742761220432', 'post139742761220432')"><pre></pre></li>
<li onclick="toggle('pre139742761220432', 'post139742761220432')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742761220432', 'post139742761220432')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742761220432', 'post139742761220432')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761220432')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761220432">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418',), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742759392968">
<ol start="39" class="pre-context" id="pre139742759392968">
<li onclick="toggle('pre139742759392968', 'post139742759392968')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742759392968', 'post139742759392968')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742759392968', 'post139742759392968')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742759392968', 'post139742759392968')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742759392968', 'post139742759392968')"><pre> )</pre></li>
<li onclick="toggle('pre139742759392968', 'post139742759392968')"><pre> )</pre></li>
<li onclick="toggle('pre139742759392968', 'post139742759392968')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742759392968', 'post139742759392968')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742759392968">
<li onclick="toggle('pre139742759392968', 'post139742759392968')"><pre></pre></li>
<li onclick="toggle('pre139742759392968', 'post139742759392968')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742759392968', 'post139742759392968')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742759392968', 'post139742759392968')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742759392968', 'post139742759392968')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742759392968', 'post139742759392968')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759392968')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759392968">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742760424224">
<ol start="60" class="pre-context" id="pre139742760424224">
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre></pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742760424224">
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742760424224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742760424224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742759904536">
<ol start="58" class="pre-context" id="pre139742759904536">
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> """</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> try:</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742759904536">
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> )</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> else:</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre></pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre></pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759904536')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759904536">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55792'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877432431823'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1865928d70></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18658ba530></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225712418 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(UpdateSystemMetadataTestImplementations.java:588)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(UpdateSystemMetadataTestImplementations.java:560)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(MNStorageV2IT.java:277)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(UpdateSystemMetadataTestImplementations.java:593)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(UpdateSystemMetadataTestImplementations.java:560)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(MNStorageV2IT.java:277)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(UpdateSystemMetadataTestImplementations.java:593)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(UpdateSystemMetadataTestImplementations.java:560)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(MNStorageV2IT.java:277)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://dataone-test.researchworkspace.com/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225717705 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(UpdateSystemMetadataTestImplementations.java:588)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(UpdateSystemMetadataTestImplementations.java:560)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(MNStorageV2IT.java:277)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:57:18 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358563601584">
<ol start="32" class="pre-context" id="pre140358563601584">
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> """</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358563601584">
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> return response</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre></pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563601584')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563601584">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358564882768">
<ol start="242" class="pre-context" id="pre140358564882768">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> break</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre></pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358564882768">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564882768')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564882768">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358564872560">
<ol start="171" class="pre-context" id="pre140358564872560">
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre></pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre></pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358564872560">
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> break</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre></pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564872560')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564872560">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562412952">
<ol start="44" class="pre-context" id="pre140358562412952">
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> )</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> )</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562412952">
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre></pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562412952')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562412952">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562413888">
<ol start="66" class="pre-context" id="pre140358562413888">
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre></pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562413888">
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> )</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> request</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> )</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562413888')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562413888">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358563602016">
<ol start="62" class="pre-context" id="pre140358563602016">
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> """</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> try:</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358563602016">
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> )</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> else:</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre></pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre></pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563602016')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563602016">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57388'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877438207048'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877438206844'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877438206497'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877438207168'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c640fa50></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c63e65f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20171232257186 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(UpdateSystemMetadataTestImplementations.java:588)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(UpdateSystemMetadataTestImplementations.java:560)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(MNStorageV2IT.java:277)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://ncei.nceas.ucsb.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN2017123225718322 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(UpdateSystemMetadataTestImplementations.java:588)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(UpdateSystemMetadataTestImplementations.java:560)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(MNStorageV2IT.java:277)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:57:26 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742760424224">
<ol start="32" class="pre-context" id="pre139742760424224">
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> """</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742760424224">
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> return response</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre></pre></li>
<li onclick="toggle('pre139742760424224', 'post139742760424224')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742760424224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742760424224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742759904608">
<ol start="242" class="pre-context" id="pre139742759904608">
<li onclick="toggle('pre139742759904608', 'post139742759904608')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742759904608', 'post139742759904608')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742759904608', 'post139742759904608')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742759904608', 'post139742759904608')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742759904608', 'post139742759904608')"><pre> break</pre></li>
<li onclick="toggle('pre139742759904608', 'post139742759904608')"><pre></pre></li>
<li onclick="toggle('pre139742759904608', 'post139742759904608')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742759904608', 'post139742759904608')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742759904608">
<li onclick="toggle('pre139742759904608', 'post139742759904608')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759904608')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759904608">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742759904752">
<ol start="171" class="pre-context" id="pre139742759904752">
<li onclick="toggle('pre139742759904752', 'post139742759904752')"><pre></pre></li>
<li onclick="toggle('pre139742759904752', 'post139742759904752')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742759904752', 'post139742759904752')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742759904752', 'post139742759904752')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742759904752', 'post139742759904752')"><pre></pre></li>
<li onclick="toggle('pre139742759904752', 'post139742759904752')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742759904752', 'post139742759904752')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742759904752', 'post139742759904752')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742759904752">
<li onclick="toggle('pre139742759904752', 'post139742759904752')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742759904752', 'post139742759904752')"><pre> break</pre></li>
<li onclick="toggle('pre139742759904752', 'post139742759904752')"><pre></pre></li>
<li onclick="toggle('pre139742759904752', 'post139742759904752')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742759904752', 'post139742759904752')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742759904752', 'post139742759904752')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759904752')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759904752">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742759904536">
<ol start="39" class="pre-context" id="pre139742759904536">
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> )</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> )</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742759904536">
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre></pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759904536')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759904536">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742759904464">
<ol start="60" class="pre-context" id="pre139742759904464">
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre></pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742759904464">
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759904464')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759904464">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758363576">
<ol start="58" class="pre-context" id="pre139742758363576">
<li onclick="toggle('pre139742758363576', 'post139742758363576')"><pre> """</pre></li>
<li onclick="toggle('pre139742758363576', 'post139742758363576')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758363576', 'post139742758363576')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758363576', 'post139742758363576')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758363576', 'post139742758363576')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758363576', 'post139742758363576')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758363576', 'post139742758363576')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758363576', 'post139742758363576')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758363576">
<li onclick="toggle('pre139742758363576', 'post139742758363576')"><pre> )</pre></li>
<li onclick="toggle('pre139742758363576', 'post139742758363576')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758363576', 'post139742758363576')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758363576', 'post139742758363576')"><pre></pre></li>
<li onclick="toggle('pre139742758363576', 'post139742758363576')"><pre></pre></li>
<li onclick="toggle('pre139742758363576', 'post139742758363576')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758363576')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758363576">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId_2017123225726913'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.757172005203602077.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5001523750045945568.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18974'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=eEprYFtFd5RNfHVD68bK2A3QYeVHbp41VF'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55862'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877446942414'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18658208f0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186596fbf0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(UpdateSystemMetadataTestImplementations.java:651)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(UpdateSystemMetadataTestImplementations.java:603)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(MNStorageV2IT.java:283)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(UpdateSystemMetadataTestImplementations.java:651)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(UpdateSystemMetadataTestImplementations.java:603)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(MNStorageV2IT.java:283)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(UpdateSystemMetadataTestImplementations.java:651)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(UpdateSystemMetadataTestImplementations.java:603)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(MNStorageV2IT.java:283)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(UpdateSystemMetadataTestImplementations.java:651)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(UpdateSystemMetadataTestImplementations.java:603)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(MNStorageV2IT.java:283)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:57:32 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358563538128">
<ol start="32" class="pre-context" id="pre140358563538128">
<li onclick="toggle('pre140358563538128', 'post140358563538128')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358563538128', 'post140358563538128')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358563538128', 'post140358563538128')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358563538128', 'post140358563538128')"><pre> """</pre></li>
<li onclick="toggle('pre140358563538128', 'post140358563538128')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358563538128', 'post140358563538128')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358563538128', 'post140358563538128')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358563538128', 'post140358563538128')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358563538128">
<li onclick="toggle('pre140358563538128', 'post140358563538128')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358563538128', 'post140358563538128')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358563538128', 'post140358563538128')"><pre> return response</pre></li>
<li onclick="toggle('pre140358563538128', 'post140358563538128')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358563538128', 'post140358563538128')"><pre></pre></li>
<li onclick="toggle('pre140358563538128', 'post140358563538128')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563538128')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563538128">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358564866744">
<ol start="242" class="pre-context" id="pre140358564866744">
<li onclick="toggle('pre140358564866744', 'post140358564866744')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358564866744', 'post140358564866744')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358564866744', 'post140358564866744')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358564866744', 'post140358564866744')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564866744', 'post140358564866744')"><pre> break</pre></li>
<li onclick="toggle('pre140358564866744', 'post140358564866744')"><pre></pre></li>
<li onclick="toggle('pre140358564866744', 'post140358564866744')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358564866744', 'post140358564866744')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358564866744">
<li onclick="toggle('pre140358564866744', 'post140358564866744')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564866744')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564866744">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358564872560">
<ol start="171" class="pre-context" id="pre140358564872560">
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre></pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre></pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358564872560">
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> break</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre></pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564872560')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564872560">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562282096">
<ol start="44" class="pre-context" id="pre140358562282096">
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> )</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> )</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562282096">
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre></pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562282096')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562282096">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562413888">
<ol start="66" class="pre-context" id="pre140358562413888">
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre></pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562413888">
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> )</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> request</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> )</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562413888')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562413888">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358563540288">
<ol start="62" class="pre-context" id="pre140358563540288">
<li onclick="toggle('pre140358563540288', 'post140358563540288')"><pre> """</pre></li>
<li onclick="toggle('pre140358563540288', 'post140358563540288')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358563540288', 'post140358563540288')"><pre> try:</pre></li>
<li onclick="toggle('pre140358563540288', 'post140358563540288')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358563540288', 'post140358563540288')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358563540288', 'post140358563540288')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358563540288', 'post140358563540288')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358563540288', 'post140358563540288')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358563540288">
<li onclick="toggle('pre140358563540288', 'post140358563540288')"><pre> )</pre></li>
<li onclick="toggle('pre140358563540288', 'post140358563540288')"><pre> else:</pre></li>
<li onclick="toggle('pre140358563540288', 'post140358563540288')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358563540288', 'post140358563540288')"><pre></pre></li>
<li onclick="toggle('pre140358563540288', 'post140358563540288')"><pre></pre></li>
<li onclick="toggle('pre140358563540288', 'post140358563540288')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563540288')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563540288">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId_2017123225732221'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.9151372166525848623.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2579004276365394441.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18989'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=-qHAgGXIMCrZYzpxLBpb0774v3SwzdaZXTrxZ-'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57461'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877452279996'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877452279860'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877452279643'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877452280028'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c640fa50></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c63bfa70></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(UpdateSystemMetadataTestImplementations.java:651)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(UpdateSystemMetadataTestImplementations.java:603)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(MNStorageV2IT.java:283)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(UpdateSystemMetadataTestImplementations.java:651)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(UpdateSystemMetadataTestImplementations.java:603)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(MNStorageV2IT.java:283)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:57:38 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758746592">
<ol start="32" class="pre-context" id="pre139742758746592">
<li onclick="toggle('pre139742758746592', 'post139742758746592')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758746592', 'post139742758746592')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758746592', 'post139742758746592')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758746592', 'post139742758746592')"><pre> """</pre></li>
<li onclick="toggle('pre139742758746592', 'post139742758746592')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758746592', 'post139742758746592')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758746592', 'post139742758746592')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758746592', 'post139742758746592')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758746592">
<li onclick="toggle('pre139742758746592', 'post139742758746592')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758746592', 'post139742758746592')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758746592', 'post139742758746592')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758746592', 'post139742758746592')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758746592', 'post139742758746592')"><pre></pre></li>
<li onclick="toggle('pre139742758746592', 'post139742758746592')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758746592')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758746592">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742759926240">
<ol start="242" class="pre-context" id="pre139742759926240">
<li onclick="toggle('pre139742759926240', 'post139742759926240')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742759926240', 'post139742759926240')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742759926240', 'post139742759926240')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742759926240', 'post139742759926240')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742759926240', 'post139742759926240')"><pre> break</pre></li>
<li onclick="toggle('pre139742759926240', 'post139742759926240')"><pre></pre></li>
<li onclick="toggle('pre139742759926240', 'post139742759926240')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742759926240', 'post139742759926240')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742759926240">
<li onclick="toggle('pre139742759926240', 'post139742759926240')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759926240')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759926240">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758117176">
<ol start="171" class="pre-context" id="pre139742758117176">
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre></pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre></pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758117176">
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> break</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre></pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758117176', 'post139742758117176')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758117176')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758117176">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742759904536">
<ol start="39" class="pre-context" id="pre139742759904536">
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> )</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> )</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742759904536">
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre></pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742759904536', 'post139742759904536')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759904536')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759904536">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742759904464">
<ol start="60" class="pre-context" id="pre139742759904464">
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre></pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742759904464">
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742759904464', 'post139742759904464')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759904464')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759904464">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758268008">
<ol start="58" class="pre-context" id="pre139742758268008">
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> """</pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758268008">
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> )</pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre></pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre></pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758268008')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758268008">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'mNodeTier3TestCreate2017123225738639'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8738275623582705229.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2424712113880118495.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'685969'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=C-gGKvHNdYmjO9Go75ac1WeD9PMloE'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55910'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877458662826'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186577f370></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18656d3d30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestCreate2017123225738639; FilePart:object = /tmp/mmp.output.2424712113880118495.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8738275623582705229.tmp (990 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:93)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:58)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreate(MNStorageV2IT.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestCreate2017123225738897; FilePart:object = /tmp/mmp.output.5378735450131488003.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2983163825624467691.tmp (990 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:93)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:58)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreate(MNStorageV2IT.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestCreate2017123225740361; FilePart:object = /tmp/mmp.output.5025642952577797613.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2239280566036129193.tmp (990 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:93)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:58)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreate(MNStorageV2IT.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestCreate2017123225740725; FilePart:object = /tmp/mmp.output.4614442338000671366.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1177871286940693790.tmp (990 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:93)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:58)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreate(MNStorageV2IT.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestCreate2017123225741748; FilePart:object = /tmp/mmp.output.8227764113476672097.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5614416923460158159.tmp (990 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:93)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:58)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreate(MNStorageV2IT.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:57:42 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358564465408">
<ol start="32" class="pre-context" id="pre140358564465408">
<li onclick="toggle('pre140358564465408', 'post140358564465408')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358564465408', 'post140358564465408')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358564465408', 'post140358564465408')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358564465408', 'post140358564465408')"><pre> """</pre></li>
<li onclick="toggle('pre140358564465408', 'post140358564465408')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358564465408', 'post140358564465408')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358564465408', 'post140358564465408')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358564465408', 'post140358564465408')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358564465408">
<li onclick="toggle('pre140358564465408', 'post140358564465408')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358564465408', 'post140358564465408')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358564465408', 'post140358564465408')"><pre> return response</pre></li>
<li onclick="toggle('pre140358564465408', 'post140358564465408')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358564465408', 'post140358564465408')"><pre></pre></li>
<li onclick="toggle('pre140358564465408', 'post140358564465408')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564465408')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564465408">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358564867752">
<ol start="242" class="pre-context" id="pre140358564867752">
<li onclick="toggle('pre140358564867752', 'post140358564867752')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358564867752', 'post140358564867752')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358564867752', 'post140358564867752')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358564867752', 'post140358564867752')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564867752', 'post140358564867752')"><pre> break</pre></li>
<li onclick="toggle('pre140358564867752', 'post140358564867752')"><pre></pre></li>
<li onclick="toggle('pre140358564867752', 'post140358564867752')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358564867752', 'post140358564867752')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358564867752">
<li onclick="toggle('pre140358564867752', 'post140358564867752')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564867752')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564867752">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358563228128">
<ol start="171" class="pre-context" id="pre140358563228128">
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre></pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre></pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358563228128">
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> break</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre></pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563228128')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563228128">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358564881760">
<ol start="44" class="pre-context" id="pre140358564881760">
<li onclick="toggle('pre140358564881760', 'post140358564881760')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358564881760', 'post140358564881760')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358564881760', 'post140358564881760')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358564881760', 'post140358564881760')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358564881760', 'post140358564881760')"><pre> )</pre></li>
<li onclick="toggle('pre140358564881760', 'post140358564881760')"><pre> )</pre></li>
<li onclick="toggle('pre140358564881760', 'post140358564881760')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358564881760', 'post140358564881760')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358564881760">
<li onclick="toggle('pre140358564881760', 'post140358564881760')"><pre></pre></li>
<li onclick="toggle('pre140358564881760', 'post140358564881760')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358564881760', 'post140358564881760')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358564881760', 'post140358564881760')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358564881760', 'post140358564881760')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358564881760', 'post140358564881760')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564881760')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564881760">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358564882120">
<ol start="66" class="pre-context" id="pre140358564882120">
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre></pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358564882120">
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> )</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> request</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> )</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564882120')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564882120">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358564466632">
<ol start="62" class="pre-context" id="pre140358564466632">
<li onclick="toggle('pre140358564466632', 'post140358564466632')"><pre> """</pre></li>
<li onclick="toggle('pre140358564466632', 'post140358564466632')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358564466632', 'post140358564466632')"><pre> try:</pre></li>
<li onclick="toggle('pre140358564466632', 'post140358564466632')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358564466632', 'post140358564466632')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358564466632', 'post140358564466632')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358564466632', 'post140358564466632')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358564466632', 'post140358564466632')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358564466632">
<li onclick="toggle('pre140358564466632', 'post140358564466632')"><pre> )</pre></li>
<li onclick="toggle('pre140358564466632', 'post140358564466632')"><pre> else:</pre></li>
<li onclick="toggle('pre140358564466632', 'post140358564466632')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358564466632', 'post140358564466632')"><pre></pre></li>
<li onclick="toggle('pre140358564466632', 'post140358564466632')"><pre></pre></li>
<li onclick="toggle('pre140358564466632', 'post140358564466632')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564466632')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564466632">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'mNodeTier3TestCreate2017123225742513'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.431133304524349950.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4041682372701930817.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'685980'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=eyHXIwI7I7B1wJDstO5pqpx7YE-CgKBsz'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57507'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877462553389'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877462553247'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877462553037'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877462553421'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c63f3a08></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c73d9f30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestCreate2017123225742513; FilePart:object = /tmp/mmp.output.4041682372701930817.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.431133304524349950.tmp (990 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:93)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:58)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreate(MNStorageV2IT.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestCreate2017123225742698; FilePart:object = /tmp/mmp.output.3906721677730522711.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.9000877189250952819.tmp (990 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:93)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:58)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreate(MNStorageV2IT.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:57:53 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758278568">
<ol start="32" class="pre-context" id="pre139742758278568">
<li onclick="toggle('pre139742758278568', 'post139742758278568')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758278568', 'post139742758278568')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758278568', 'post139742758278568')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758278568', 'post139742758278568')"><pre> """</pre></li>
<li onclick="toggle('pre139742758278568', 'post139742758278568')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758278568', 'post139742758278568')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758278568', 'post139742758278568')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758278568', 'post139742758278568')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758278568">
<li onclick="toggle('pre139742758278568', 'post139742758278568')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758278568', 'post139742758278568')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758278568', 'post139742758278568')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758278568', 'post139742758278568')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758278568', 'post139742758278568')"><pre></pre></li>
<li onclick="toggle('pre139742758278568', 'post139742758278568')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758278568')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758278568">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758281160">
<ol start="242" class="pre-context" id="pre139742758281160">
<li onclick="toggle('pre139742758281160', 'post139742758281160')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758281160', 'post139742758281160')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758281160', 'post139742758281160')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758281160', 'post139742758281160')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758281160', 'post139742758281160')"><pre> break</pre></li>
<li onclick="toggle('pre139742758281160', 'post139742758281160')"><pre></pre></li>
<li onclick="toggle('pre139742758281160', 'post139742758281160')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758281160', 'post139742758281160')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758281160">
<li onclick="toggle('pre139742758281160', 'post139742758281160')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758281160')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758281160">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758280368">
<ol start="171" class="pre-context" id="pre139742758280368">
<li onclick="toggle('pre139742758280368', 'post139742758280368')"><pre></pre></li>
<li onclick="toggle('pre139742758280368', 'post139742758280368')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758280368', 'post139742758280368')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758280368', 'post139742758280368')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758280368', 'post139742758280368')"><pre></pre></li>
<li onclick="toggle('pre139742758280368', 'post139742758280368')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758280368', 'post139742758280368')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758280368', 'post139742758280368')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758280368">
<li onclick="toggle('pre139742758280368', 'post139742758280368')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758280368', 'post139742758280368')"><pre> break</pre></li>
<li onclick="toggle('pre139742758280368', 'post139742758280368')"><pre></pre></li>
<li onclick="toggle('pre139742758280368', 'post139742758280368')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758280368', 'post139742758280368')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758280368', 'post139742758280368')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758280368')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758280368">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758280872">
<ol start="39" class="pre-context" id="pre139742758280872">
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> )</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> )</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758280872">
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre></pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758280872')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758280872">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758277272">
<ol start="60" class="pre-context" id="pre139742758277272">
<li onclick="toggle('pre139742758277272', 'post139742758277272')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758277272', 'post139742758277272')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758277272', 'post139742758277272')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758277272', 'post139742758277272')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758277272', 'post139742758277272')"><pre></pre></li>
<li onclick="toggle('pre139742758277272', 'post139742758277272')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758277272', 'post139742758277272')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758277272', 'post139742758277272')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758277272">
<li onclick="toggle('pre139742758277272', 'post139742758277272')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758277272', 'post139742758277272')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758277272', 'post139742758277272')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758277272', 'post139742758277272')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758277272', 'post139742758277272')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758277272', 'post139742758277272')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758277272')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758277272">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758279432">
<ol start="58" class="pre-context" id="pre139742758279432">
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> """</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758279432">
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> )</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre></pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre></pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758279432')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758279432">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdate_2017123225753249'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3134048613277503563.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.243614294818669152.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18919'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=kAmKGSzIC8IxOLyuvTskbl7zFTx6YptwtlLhPI'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55961'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877473275753'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186653da30></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1888bf94f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:370)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:288)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate(MNStorageV2IT.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:370)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:288)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate(MNStorageV2IT.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object/testUpdate_2017123225753770<br />
does not allow request data with PUT requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host PUT https://test.arcticdata.io/metacat/d1/mn/v2/object/testUpdate_2017123225753770; MMP message has: ParamPart:newPid = testUpdate_2017123225756241; FilePart:object = /tmp/mmp.output.4120450409664554175.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3770363873568649373.tmp (1007 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:364)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:288)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate(MNStorageV2IT.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:370)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:288)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate(MNStorageV2IT.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:370)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:288)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate(MNStorageV2IT.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 05:57:57 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358564257592">
<ol start="32" class="pre-context" id="pre140358564257592">
<li onclick="toggle('pre140358564257592', 'post140358564257592')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358564257592', 'post140358564257592')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358564257592', 'post140358564257592')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358564257592', 'post140358564257592')"><pre> """</pre></li>
<li onclick="toggle('pre140358564257592', 'post140358564257592')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358564257592', 'post140358564257592')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358564257592', 'post140358564257592')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358564257592', 'post140358564257592')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358564257592">
<li onclick="toggle('pre140358564257592', 'post140358564257592')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358564257592', 'post140358564257592')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358564257592', 'post140358564257592')"><pre> return response</pre></li>
<li onclick="toggle('pre140358564257592', 'post140358564257592')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358564257592', 'post140358564257592')"><pre></pre></li>
<li onclick="toggle('pre140358564257592', 'post140358564257592')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564257592')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564257592">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562473096">
<ol start="242" class="pre-context" id="pre140358562473096">
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> break</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre></pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562473096">
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562473096')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562473096">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358562472232">
<ol start="171" class="pre-context" id="pre140358562472232">
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre></pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre></pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358562472232">
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> break</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre></pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562472232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562472232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562473384">
<ol start="44" class="pre-context" id="pre140358562473384">
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> )</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> )</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562473384">
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre></pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562473384')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562473384">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562473312">
<ol start="66" class="pre-context" id="pre140358562473312">
<li onclick="toggle('pre140358562473312', 'post140358562473312')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562473312', 'post140358562473312')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562473312', 'post140358562473312')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562473312', 'post140358562473312')"><pre></pre></li>
<li onclick="toggle('pre140358562473312', 'post140358562473312')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562473312', 'post140358562473312')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562473312', 'post140358562473312')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562473312', 'post140358562473312')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562473312">
<li onclick="toggle('pre140358562473312', 'post140358562473312')"><pre> )</pre></li>
<li onclick="toggle('pre140358562473312', 'post140358562473312')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562473312', 'post140358562473312')"><pre> request</pre></li>
<li onclick="toggle('pre140358562473312', 'post140358562473312')"><pre> )</pre></li>
<li onclick="toggle('pre140358562473312', 'post140358562473312')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562473312', 'post140358562473312')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562473312')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562473312">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358564254424">
<ol start="62" class="pre-context" id="pre140358564254424">
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> """</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> try:</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358564254424">
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> )</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> else:</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre></pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre></pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564254424')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564254424">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdate_2017123225757578'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1183835892213620101.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5901661152715809743.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18898'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=ZiNRiuRxr_1dFN-Z5Bi79piVaoTu2Y6Af'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57556'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877477800182'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877477800052'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877477799839'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877477800214'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c6666e88></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c6449f30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:370)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:288)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate(MNStorageV2IT.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:370)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:288)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate(MNStorageV2IT.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected InvalidToken or NotAuthorized, got: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestCreate201712322583931; FilePart:object = /tmp/mmp.output.1895213441103024050.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7945735905165997616.tmp (927 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate_NoCert(MNStorageTestImplementations.java:139)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate_NoCert(MNStorageTestImplementations.java:111)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreate_NoCert(MNStorageV2IT.java:71)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:46 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742761831240">
<ol start="32" class="pre-context" id="pre139742761831240">
<li onclick="toggle('pre139742761831240', 'post139742761831240')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742761831240', 'post139742761831240')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742761831240', 'post139742761831240')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742761831240', 'post139742761831240')"><pre> """</pre></li>
<li onclick="toggle('pre139742761831240', 'post139742761831240')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742761831240', 'post139742761831240')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742761831240', 'post139742761831240')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742761831240', 'post139742761831240')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742761831240">
<li onclick="toggle('pre139742761831240', 'post139742761831240')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742761831240', 'post139742761831240')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742761831240', 'post139742761831240')"><pre> return response</pre></li>
<li onclick="toggle('pre139742761831240', 'post139742761831240')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742761831240', 'post139742761831240')"><pre></pre></li>
<li onclick="toggle('pre139742761831240', 'post139742761831240')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761831240')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761831240">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742761831816">
<ol start="242" class="pre-context" id="pre139742761831816">
<li onclick="toggle('pre139742761831816', 'post139742761831816')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742761831816', 'post139742761831816')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742761831816', 'post139742761831816')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742761831816', 'post139742761831816')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761831816', 'post139742761831816')"><pre> break</pre></li>
<li onclick="toggle('pre139742761831816', 'post139742761831816')"><pre></pre></li>
<li onclick="toggle('pre139742761831816', 'post139742761831816')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742761831816', 'post139742761831816')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742761831816">
<li onclick="toggle('pre139742761831816', 'post139742761831816')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761831816')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761831816">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758696144">
<ol start="171" class="pre-context" id="pre139742758696144">
<li onclick="toggle('pre139742758696144', 'post139742758696144')"><pre></pre></li>
<li onclick="toggle('pre139742758696144', 'post139742758696144')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758696144', 'post139742758696144')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758696144', 'post139742758696144')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758696144', 'post139742758696144')"><pre></pre></li>
<li onclick="toggle('pre139742758696144', 'post139742758696144')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758696144', 'post139742758696144')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758696144', 'post139742758696144')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758696144">
<li onclick="toggle('pre139742758696144', 'post139742758696144')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758696144', 'post139742758696144')"><pre> break</pre></li>
<li onclick="toggle('pre139742758696144', 'post139742758696144')"><pre></pre></li>
<li onclick="toggle('pre139742758696144', 'post139742758696144')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758696144', 'post139742758696144')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758696144', 'post139742758696144')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758696144')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758696144">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758013984">
<ol start="39" class="pre-context" id="pre139742758013984">
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> )</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> )</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758013984">
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre></pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758013984')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758013984">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758012760">
<ol start="60" class="pre-context" id="pre139742758012760">
<li onclick="toggle('pre139742758012760', 'post139742758012760')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758012760', 'post139742758012760')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758012760', 'post139742758012760')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758012760', 'post139742758012760')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758012760', 'post139742758012760')"><pre></pre></li>
<li onclick="toggle('pre139742758012760', 'post139742758012760')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758012760', 'post139742758012760')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758012760', 'post139742758012760')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758012760">
<li onclick="toggle('pre139742758012760', 'post139742758012760')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758012760', 'post139742758012760')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758012760', 'post139742758012760')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758012760', 'post139742758012760')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758012760', 'post139742758012760')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758012760', 'post139742758012760')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758012760')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758012760">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742761830880">
<ol start="58" class="pre-context" id="pre139742761830880">
<li onclick="toggle('pre139742761830880', 'post139742761830880')"><pre> """</pre></li>
<li onclick="toggle('pre139742761830880', 'post139742761830880')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742761830880', 'post139742761830880')"><pre> try:</pre></li>
<li onclick="toggle('pre139742761830880', 'post139742761830880')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742761830880', 'post139742761830880')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742761830880', 'post139742761830880')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742761830880', 'post139742761830880')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742761830880', 'post139742761830880')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742761830880">
<li onclick="toggle('pre139742761830880', 'post139742761830880')"><pre> )</pre></li>
<li onclick="toggle('pre139742761830880', 'post139742761830880')"><pre> else:</pre></li>
<li onclick="toggle('pre139742761830880', 'post139742761830880')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742761830880', 'post139742761830880')"><pre></pre></li>
<li onclick="toggle('pre139742761830880', 'post139742761830880')"><pre></pre></li>
<li onclick="toggle('pre139742761830880', 'post139742761830880')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761830880')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761830880">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:2017123232560_common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5668007311568340029.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8664799781792951220.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686079'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=OJ6ub9m0-wgGnxXtiUkMZQuZkfZsKnalo_y'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56627'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877705997226'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1865682b70></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186577fb30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:2017123232560_common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ; FilePart:object = /tmp/mmp.output.8664799781792951220.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5668007311568340029.tmp (1035 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:46 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758363080">
<ol start="32" class="pre-context" id="pre139742758363080">
<li onclick="toggle('pre139742758363080', 'post139742758363080')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758363080', 'post139742758363080')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758363080', 'post139742758363080')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758363080', 'post139742758363080')"><pre> """</pre></li>
<li onclick="toggle('pre139742758363080', 'post139742758363080')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758363080', 'post139742758363080')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758363080', 'post139742758363080')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758363080', 'post139742758363080')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758363080">
<li onclick="toggle('pre139742758363080', 'post139742758363080')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758363080', 'post139742758363080')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758363080', 'post139742758363080')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758363080', 'post139742758363080')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758363080', 'post139742758363080')"><pre></pre></li>
<li onclick="toggle('pre139742758363080', 'post139742758363080')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758363080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758363080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758360560">
<ol start="242" class="pre-context" id="pre139742758360560">
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre> break</pre></li>
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre></pre></li>
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758360560">
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758360560')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758360560">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758359624">
<ol start="171" class="pre-context" id="pre139742758359624">
<li onclick="toggle('pre139742758359624', 'post139742758359624')"><pre></pre></li>
<li onclick="toggle('pre139742758359624', 'post139742758359624')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758359624', 'post139742758359624')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758359624', 'post139742758359624')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758359624', 'post139742758359624')"><pre></pre></li>
<li onclick="toggle('pre139742758359624', 'post139742758359624')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758359624', 'post139742758359624')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758359624', 'post139742758359624')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758359624">
<li onclick="toggle('pre139742758359624', 'post139742758359624')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758359624', 'post139742758359624')"><pre> break</pre></li>
<li onclick="toggle('pre139742758359624', 'post139742758359624')"><pre></pre></li>
<li onclick="toggle('pre139742758359624', 'post139742758359624')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758359624', 'post139742758359624')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758359624', 'post139742758359624')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758359624')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758359624">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758360992">
<ol start="39" class="pre-context" id="pre139742758360992">
<li onclick="toggle('pre139742758360992', 'post139742758360992')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758360992', 'post139742758360992')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758360992', 'post139742758360992')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758360992', 'post139742758360992')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758360992', 'post139742758360992')"><pre> )</pre></li>
<li onclick="toggle('pre139742758360992', 'post139742758360992')"><pre> )</pre></li>
<li onclick="toggle('pre139742758360992', 'post139742758360992')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758360992', 'post139742758360992')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758360992">
<li onclick="toggle('pre139742758360992', 'post139742758360992')"><pre></pre></li>
<li onclick="toggle('pre139742758360992', 'post139742758360992')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758360992', 'post139742758360992')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758360992', 'post139742758360992')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758360992', 'post139742758360992')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758360992', 'post139742758360992')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758360992')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758360992">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742794271920">
<ol start="60" class="pre-context" id="pre139742794271920">
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre></pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742794271920">
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794271920')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794271920">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758362864">
<ol start="58" class="pre-context" id="pre139742758362864">
<li onclick="toggle('pre139742758362864', 'post139742758362864')"><pre> """</pre></li>
<li onclick="toggle('pre139742758362864', 'post139742758362864')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758362864', 'post139742758362864')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758362864', 'post139742758362864')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758362864', 'post139742758362864')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758362864', 'post139742758362864')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758362864', 'post139742758362864')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758362864', 'post139742758362864')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758362864">
<li onclick="toggle('pre139742758362864', 'post139742758362864')"><pre> )</pre></li>
<li onclick="toggle('pre139742758362864', 'post139742758362864')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758362864', 'post139742758362864')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758362864', 'post139742758362864')"><pre></pre></li>
<li onclick="toggle('pre139742758362864', 'post139742758362864')"><pre></pre></li>
<li onclick="toggle('pre139742758362864', 'post139742758362864')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758362864')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758362864">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232325424_common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7557646163821892468.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4995899951806796501.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686061'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=nemzczhos0icl_dvAPkmLBpiV6FXXj'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56628'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877706169777'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1865743670></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865743cb0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232325424_common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz; FilePart:object = /tmp/mmp.output.4995899951806796501.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7557646163821892468.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:46 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742761828080">
<ol start="32" class="pre-context" id="pre139742761828080">
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> """</pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742761828080">
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> return response</pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre></pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761828080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761828080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758268008">
<ol start="242" class="pre-context" id="pre139742758268008">
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> break</pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre></pre></li>
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758268008">
<li onclick="toggle('pre139742758268008', 'post139742758268008')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758268008')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758268008">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758266064">
<ol start="171" class="pre-context" id="pre139742758266064">
<li onclick="toggle('pre139742758266064', 'post139742758266064')"><pre></pre></li>
<li onclick="toggle('pre139742758266064', 'post139742758266064')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758266064', 'post139742758266064')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758266064', 'post139742758266064')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758266064', 'post139742758266064')"><pre></pre></li>
<li onclick="toggle('pre139742758266064', 'post139742758266064')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758266064', 'post139742758266064')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758266064', 'post139742758266064')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758266064">
<li onclick="toggle('pre139742758266064', 'post139742758266064')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758266064', 'post139742758266064')"><pre> break</pre></li>
<li onclick="toggle('pre139742758266064', 'post139742758266064')"><pre></pre></li>
<li onclick="toggle('pre139742758266064', 'post139742758266064')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758266064', 'post139742758266064')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758266064', 'post139742758266064')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758266064')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758266064">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742757765632">
<ol start="39" class="pre-context" id="pre139742757765632">
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> )</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> )</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742757765632">
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre></pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757765632')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757765632">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742757767648">
<ol start="60" class="pre-context" id="pre139742757767648">
<li onclick="toggle('pre139742757767648', 'post139742757767648')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742757767648', 'post139742757767648')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742757767648', 'post139742757767648')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742757767648', 'post139742757767648')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742757767648', 'post139742757767648')"><pre></pre></li>
<li onclick="toggle('pre139742757767648', 'post139742757767648')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742757767648', 'post139742757767648')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742757767648', 'post139742757767648')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742757767648">
<li onclick="toggle('pre139742757767648', 'post139742757767648')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742757767648', 'post139742757767648')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742757767648', 'post139742757767648')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742757767648', 'post139742757767648')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742757767648', 'post139742757767648')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742757767648', 'post139742757767648')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757767648')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757767648">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742761825992">
<ol start="58" class="pre-context" id="pre139742761825992">
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> """</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> try:</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742761825992">
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> )</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> else:</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre></pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre></pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761825992')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761825992">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232325622_common-unicode-ascii-safe-0123456789'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8410671117434014541.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3030505109151002136.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686033'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=--_nDWDss9IUpxKdyssir9fVKiLZsCy'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56629'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877706351628'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1865838770></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865838ab0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232325622_common-unicode-ascii-safe-0123456789; FilePart:object = /tmp/mmp.output.3030505109151002136.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8410671117434014541.tmp (1020 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:46 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758319240">
<ol start="32" class="pre-context" id="pre139742758319240">
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> """</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758319240">
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre></pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758319240')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758319240">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758320032">
<ol start="242" class="pre-context" id="pre139742758320032">
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> break</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre></pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758320032">
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758320032')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758320032">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758321184">
<ol start="171" class="pre-context" id="pre139742758321184">
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre></pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre></pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758321184">
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> break</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre></pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758321184')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758321184">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758320392">
<ol start="39" class="pre-context" id="pre139742758320392">
<li onclick="toggle('pre139742758320392', 'post139742758320392')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758320392', 'post139742758320392')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758320392', 'post139742758320392')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758320392', 'post139742758320392')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758320392', 'post139742758320392')"><pre> )</pre></li>
<li onclick="toggle('pre139742758320392', 'post139742758320392')"><pre> )</pre></li>
<li onclick="toggle('pre139742758320392', 'post139742758320392')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758320392', 'post139742758320392')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758320392">
<li onclick="toggle('pre139742758320392', 'post139742758320392')"><pre></pre></li>
<li onclick="toggle('pre139742758320392', 'post139742758320392')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758320392', 'post139742758320392')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758320392', 'post139742758320392')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758320392', 'post139742758320392')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758320392', 'post139742758320392')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758320392')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758320392">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742794271920">
<ol start="60" class="pre-context" id="pre139742794271920">
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre></pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742794271920">
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742794271920', 'post139742794271920')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794271920')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794271920">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758318736">
<ol start="58" class="pre-context" id="pre139742758318736">
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> """</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758318736">
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> )</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre></pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre></pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758318736')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758318736">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u"testMNodeTier3:20171232325810_common-unicode-ascii-safe-:@$-_.!*()',~"</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5318820291223600201.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2348640450650026425.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686075'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=qyykvkIk0OUKaens-cvQ623eLN_qfsoceLtTCd_s'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56630'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877706516702'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18658de130></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18658de7b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232325810_common-unicode-ascii-safe-:@$-_.!*()',~; FilePart:object = /tmp/mmp.output.2348640450650026425.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5318820291223600201.tmp (1023 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:46 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742737562296">
<ol start="32" class="pre-context" id="pre139742737562296">
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> """</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742737562296">
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> return response</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre></pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737562296')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737562296">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742766820240">
<ol start="242" class="pre-context" id="pre139742766820240">
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> break</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre></pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742766820240">
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742766820240')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742766820240">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742794310000">
<ol start="171" class="pre-context" id="pre139742794310000">
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre></pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre></pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742794310000">
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> break</pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre></pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794310000')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794310000">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758925808">
<ol start="39" class="pre-context" id="pre139742758925808">
<li onclick="toggle('pre139742758925808', 'post139742758925808')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758925808', 'post139742758925808')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758925808', 'post139742758925808')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758925808', 'post139742758925808')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758925808', 'post139742758925808')"><pre> )</pre></li>
<li onclick="toggle('pre139742758925808', 'post139742758925808')"><pre> )</pre></li>
<li onclick="toggle('pre139742758925808', 'post139742758925808')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758925808', 'post139742758925808')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758925808">
<li onclick="toggle('pre139742758925808', 'post139742758925808')"><pre></pre></li>
<li onclick="toggle('pre139742758925808', 'post139742758925808')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758925808', 'post139742758925808')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758925808', 'post139742758925808')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758925808', 'post139742758925808')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758925808', 'post139742758925808')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758925808')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758925808">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742737556328">
<ol start="60" class="pre-context" id="pre139742737556328">
<li onclick="toggle('pre139742737556328', 'post139742737556328')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742737556328', 'post139742737556328')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742737556328', 'post139742737556328')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742737556328', 'post139742737556328')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742737556328', 'post139742737556328')"><pre></pre></li>
<li onclick="toggle('pre139742737556328', 'post139742737556328')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742737556328', 'post139742737556328')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742737556328', 'post139742737556328')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742737556328">
<li onclick="toggle('pre139742737556328', 'post139742737556328')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742737556328', 'post139742737556328')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742737556328', 'post139742737556328')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742737556328', 'post139742737556328')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742737556328', 'post139742737556328')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742737556328', 'post139742737556328')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737556328')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737556328">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742737561720">
<ol start="58" class="pre-context" id="pre139742737561720">
<li onclick="toggle('pre139742737561720', 'post139742737561720')"><pre> """</pre></li>
<li onclick="toggle('pre139742737561720', 'post139742737561720')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742737561720', 'post139742737561720')"><pre> try:</pre></li>
<li onclick="toggle('pre139742737561720', 'post139742737561720')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742737561720', 'post139742737561720')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742737561720', 'post139742737561720')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742737561720', 'post139742737561720')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742737561720', 'post139742737561720')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742737561720">
<li onclick="toggle('pre139742737561720', 'post139742737561720')"><pre> )</pre></li>
<li onclick="toggle('pre139742737561720', 'post139742737561720')"><pre> else:</pre></li>
<li onclick="toggle('pre139742737561720', 'post139742737561720')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742737561720', 'post139742737561720')"><pre></pre></li>
<li onclick="toggle('pre139742737561720', 'post139742737561720')"><pre></pre></li>
<li onclick="toggle('pre139742737561720', 'post139742737561720')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737561720')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737561720">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:2017123232610_common-unicode-ascii-safe-unreserved-._~'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3201833678028626051.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6584014826360268573.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686039'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=ycEVD89QA1yav2WpvqOduEaSTAZ7NCu'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56631'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877706696454'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18654f2bb0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186558c6b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:2017123232610_common-unicode-ascii-safe-unreserved-._~; FilePart:object = /tmp/mmp.output.6584014826360268573.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3201833678028626051.tmp (1023 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:47 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742756125080">
<ol start="32" class="pre-context" id="pre139742756125080">
<li onclick="toggle('pre139742756125080', 'post139742756125080')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742756125080', 'post139742756125080')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742756125080', 'post139742756125080')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742756125080', 'post139742756125080')"><pre> """</pre></li>
<li onclick="toggle('pre139742756125080', 'post139742756125080')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742756125080', 'post139742756125080')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742756125080', 'post139742756125080')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742756125080', 'post139742756125080')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742756125080">
<li onclick="toggle('pre139742756125080', 'post139742756125080')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742756125080', 'post139742756125080')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742756125080', 'post139742756125080')"><pre> return response</pre></li>
<li onclick="toggle('pre139742756125080', 'post139742756125080')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742756125080', 'post139742756125080')"><pre></pre></li>
<li onclick="toggle('pre139742756125080', 'post139742756125080')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742756125080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742756125080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742757208008">
<ol start="242" class="pre-context" id="pre139742757208008">
<li onclick="toggle('pre139742757208008', 'post139742757208008')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742757208008', 'post139742757208008')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742757208008', 'post139742757208008')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742757208008', 'post139742757208008')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742757208008', 'post139742757208008')"><pre> break</pre></li>
<li onclick="toggle('pre139742757208008', 'post139742757208008')"><pre></pre></li>
<li onclick="toggle('pre139742757208008', 'post139742757208008')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742757208008', 'post139742757208008')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742757208008">
<li onclick="toggle('pre139742757208008', 'post139742757208008')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757208008')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757208008">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742757142896">
<ol start="171" class="pre-context" id="pre139742757142896">
<li onclick="toggle('pre139742757142896', 'post139742757142896')"><pre></pre></li>
<li onclick="toggle('pre139742757142896', 'post139742757142896')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742757142896', 'post139742757142896')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742757142896', 'post139742757142896')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742757142896', 'post139742757142896')"><pre></pre></li>
<li onclick="toggle('pre139742757142896', 'post139742757142896')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742757142896', 'post139742757142896')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742757142896', 'post139742757142896')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742757142896">
<li onclick="toggle('pre139742757142896', 'post139742757142896')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742757142896', 'post139742757142896')"><pre> break</pre></li>
<li onclick="toggle('pre139742757142896', 'post139742757142896')"><pre></pre></li>
<li onclick="toggle('pre139742757142896', 'post139742757142896')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742757142896', 'post139742757142896')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742757142896', 'post139742757142896')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757142896')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757142896">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742737506032">
<ol start="39" class="pre-context" id="pre139742737506032">
<li onclick="toggle('pre139742737506032', 'post139742737506032')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742737506032', 'post139742737506032')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742737506032', 'post139742737506032')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742737506032', 'post139742737506032')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742737506032', 'post139742737506032')"><pre> )</pre></li>
<li onclick="toggle('pre139742737506032', 'post139742737506032')"><pre> )</pre></li>
<li onclick="toggle('pre139742737506032', 'post139742737506032')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742737506032', 'post139742737506032')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742737506032">
<li onclick="toggle('pre139742737506032', 'post139742737506032')"><pre></pre></li>
<li onclick="toggle('pre139742737506032', 'post139742737506032')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742737506032', 'post139742737506032')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742737506032', 'post139742737506032')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742737506032', 'post139742737506032')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742737506032', 'post139742737506032')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737506032')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737506032">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758983368">
<ol start="60" class="pre-context" id="pre139742758983368">
<li onclick="toggle('pre139742758983368', 'post139742758983368')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758983368', 'post139742758983368')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758983368', 'post139742758983368')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758983368', 'post139742758983368')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758983368', 'post139742758983368')"><pre></pre></li>
<li onclick="toggle('pre139742758983368', 'post139742758983368')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758983368', 'post139742758983368')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758983368', 'post139742758983368')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758983368">
<li onclick="toggle('pre139742758983368', 'post139742758983368')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758983368', 'post139742758983368')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758983368', 'post139742758983368')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758983368', 'post139742758983368')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758983368', 'post139742758983368')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758983368', 'post139742758983368')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758983368')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758983368">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742757459224">
<ol start="58" class="pre-context" id="pre139742757459224">
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> """</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> try:</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742757459224">
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> )</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> else:</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre></pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre></pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757459224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757459224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u"testMNodeTier3:20171232326298_common-unicode-ascii-safe-sub-delims-$!*()',"</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7449387158836949268.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2124860418879220284.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686057'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=O6sd0X2_GOdrLnsqe7e6tQnMyPeJGu5_5'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56633'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877706968762'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186561eef0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186561e330></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232326298_common-unicode-ascii-safe-sub-delims-$!*()',; FilePart:object = /tmp/mmp.output.2124860418879220284.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7449387158836949268.tmp (1028 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:47 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742735514224">
<ol start="32" class="pre-context" id="pre139742735514224">
<li onclick="toggle('pre139742735514224', 'post139742735514224')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742735514224', 'post139742735514224')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742735514224', 'post139742735514224')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742735514224', 'post139742735514224')"><pre> """</pre></li>
<li onclick="toggle('pre139742735514224', 'post139742735514224')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742735514224', 'post139742735514224')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742735514224', 'post139742735514224')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742735514224', 'post139742735514224')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742735514224">
<li onclick="toggle('pre139742735514224', 'post139742735514224')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742735514224', 'post139742735514224')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742735514224', 'post139742735514224')"><pre> return response</pre></li>
<li onclick="toggle('pre139742735514224', 'post139742735514224')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742735514224', 'post139742735514224')"><pre></pre></li>
<li onclick="toggle('pre139742735514224', 'post139742735514224')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735514224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735514224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742766820240">
<ol start="242" class="pre-context" id="pre139742766820240">
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> break</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre></pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742766820240">
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742766820240')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742766820240">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742737500928">
<ol start="171" class="pre-context" id="pre139742737500928">
<li onclick="toggle('pre139742737500928', 'post139742737500928')"><pre></pre></li>
<li onclick="toggle('pre139742737500928', 'post139742737500928')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742737500928', 'post139742737500928')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742737500928', 'post139742737500928')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742737500928', 'post139742737500928')"><pre></pre></li>
<li onclick="toggle('pre139742737500928', 'post139742737500928')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742737500928', 'post139742737500928')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742737500928', 'post139742737500928')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742737500928">
<li onclick="toggle('pre139742737500928', 'post139742737500928')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742737500928', 'post139742737500928')"><pre> break</pre></li>
<li onclick="toggle('pre139742737500928', 'post139742737500928')"><pre></pre></li>
<li onclick="toggle('pre139742737500928', 'post139742737500928')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742737500928', 'post139742737500928')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742737500928', 'post139742737500928')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737500928')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737500928">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742737498408">
<ol start="39" class="pre-context" id="pre139742737498408">
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> )</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> )</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742737498408">
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre></pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737498408')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737498408">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742737499992">
<ol start="60" class="pre-context" id="pre139742737499992">
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre></pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742737499992">
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737499992')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737499992">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742735513576">
<ol start="58" class="pre-context" id="pre139742735513576">
<li onclick="toggle('pre139742735513576', 'post139742735513576')"><pre> """</pre></li>
<li onclick="toggle('pre139742735513576', 'post139742735513576')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742735513576', 'post139742735513576')"><pre> try:</pre></li>
<li onclick="toggle('pre139742735513576', 'post139742735513576')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742735513576', 'post139742735513576')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742735513576', 'post139742735513576')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742735513576', 'post139742735513576')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742735513576', 'post139742735513576')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742735513576">
<li onclick="toggle('pre139742735513576', 'post139742735513576')"><pre> )</pre></li>
<li onclick="toggle('pre139742735513576', 'post139742735513576')"><pre> else:</pre></li>
<li onclick="toggle('pre139742735513576', 'post139742735513576')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742735513576', 'post139742735513576')"><pre></pre></li>
<li onclick="toggle('pre139742735513576', 'post139742735513576')"><pre></pre></li>
<li onclick="toggle('pre139742735513576', 'post139742735513576')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735513576')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735513576">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232326521_common-unicode-ascii-safe-gen-delims-:@'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1426148289459184813.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2862920735064626441.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686075'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=ohC7yL-QgOrjJ_RDBPCo24bax93CZoBSxa6YW9QV'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56634'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877707156229'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18654a9230></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1888bf94f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232326521_common-unicode-ascii-safe-gen-delims-:@; FilePart:object = /tmp/mmp.output.2862920735064626441.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1426148289459184813.tmp (1023 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:47 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758013984">
<ol start="32" class="pre-context" id="pre139742758013984">
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> """</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758013984">
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre></pre></li>
<li onclick="toggle('pre139742758013984', 'post139742758013984')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758013984')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758013984">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758011536">
<ol start="242" class="pre-context" id="pre139742758011536">
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> break</pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre></pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758011536">
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758011536')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758011536">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758011320">
<ol start="171" class="pre-context" id="pre139742758011320">
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre></pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre></pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758011320">
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> break</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre></pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758011320')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758011320">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758011752">
<ol start="39" class="pre-context" id="pre139742758011752">
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> )</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> )</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758011752">
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre></pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758011752')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758011752">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758014704">
<ol start="60" class="pre-context" id="pre139742758014704">
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre></pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758014704">
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758014704')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758014704">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758013912">
<ol start="58" class="pre-context" id="pre139742758013912">
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> """</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758013912">
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> )</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre></pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre></pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758013912')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758013912">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232326749_common-unicode-ascii-escaped-%22%23%3C%3E%5B%5D%5E%60%7B%7D%7C'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4912427342710432608.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4045040931824899125.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686113'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=t1tm50pN_xRPVeUsG4M1MnbBqUOi-FrBm8ChnM'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56635'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877707372801'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186568ad30></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186568a530></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232326749_common-unicode-ascii-escaped-%22%23%3C%3E%5B%5D%5E%60%7B%7D%7C; FilePart:object = /tmp/mmp.output.4045040931824899125.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4912427342710432608.tmp (1046 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:47 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758360200">
<ol start="32" class="pre-context" id="pre139742758360200">
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> """</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758360200">
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre></pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758360200')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758360200">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758360560">
<ol start="242" class="pre-context" id="pre139742758360560">
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre> break</pre></li>
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre></pre></li>
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758360560">
<li onclick="toggle('pre139742758360560', 'post139742758360560')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758360560')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758360560">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742757765488">
<ol start="171" class="pre-context" id="pre139742757765488">
<li onclick="toggle('pre139742757765488', 'post139742757765488')"><pre></pre></li>
<li onclick="toggle('pre139742757765488', 'post139742757765488')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742757765488', 'post139742757765488')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742757765488', 'post139742757765488')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742757765488', 'post139742757765488')"><pre></pre></li>
<li onclick="toggle('pre139742757765488', 'post139742757765488')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742757765488', 'post139742757765488')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742757765488', 'post139742757765488')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742757765488">
<li onclick="toggle('pre139742757765488', 'post139742757765488')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742757765488', 'post139742757765488')"><pre> break</pre></li>
<li onclick="toggle('pre139742757765488', 'post139742757765488')"><pre></pre></li>
<li onclick="toggle('pre139742757765488', 'post139742757765488')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742757765488', 'post139742757765488')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742757765488', 'post139742757765488')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757765488')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757765488">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742757765632">
<ol start="39" class="pre-context" id="pre139742757765632">
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> )</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> )</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742757765632">
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre></pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757765632')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757765632">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742757768224">
<ol start="60" class="pre-context" id="pre139742757768224">
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre></pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742757768224">
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757768224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757768224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758359480">
<ol start="58" class="pre-context" id="pre139742758359480">
<li onclick="toggle('pre139742758359480', 'post139742758359480')"><pre> """</pre></li>
<li onclick="toggle('pre139742758359480', 'post139742758359480')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758359480', 'post139742758359480')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758359480', 'post139742758359480')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758359480', 'post139742758359480')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758359480', 'post139742758359480')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758359480', 'post139742758359480')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758359480', 'post139742758359480')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758359480">
<li onclick="toggle('pre139742758359480', 'post139742758359480')"><pre> )</pre></li>
<li onclick="toggle('pre139742758359480', 'post139742758359480')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758359480', 'post139742758359480')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758359480', 'post139742758359480')"><pre></pre></li>
<li onclick="toggle('pre139742758359480', 'post139742758359480')"><pre></pre></li>
<li onclick="toggle('pre139742758359480', 'post139742758359480')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758359480')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758359480">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:2017123232780_common-unicode-ascii-escaped-tomcatBlocked-%5C'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.487410900596043145.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4132428900658235406.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686070'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=sZzZHuTHbcwCdS31LvL2uWr9IDWZCQk2HWAY'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56636'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877707658625'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18658cd4b0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18658cd7f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:2017123232780_common-unicode-ascii-escaped-tomcatBlocked-%5C; FilePart:object = /tmp/mmp.output.4132428900658235406.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.487410900596043145.tmp (1029 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:47 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742794290672">
<ol start="32" class="pre-context" id="pre139742794290672">
<li onclick="toggle('pre139742794290672', 'post139742794290672')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742794290672', 'post139742794290672')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742794290672', 'post139742794290672')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742794290672', 'post139742794290672')"><pre> """</pre></li>
<li onclick="toggle('pre139742794290672', 'post139742794290672')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742794290672', 'post139742794290672')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742794290672', 'post139742794290672')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742794290672', 'post139742794290672')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742794290672">
<li onclick="toggle('pre139742794290672', 'post139742794290672')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742794290672', 'post139742794290672')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742794290672', 'post139742794290672')"><pre> return response</pre></li>
<li onclick="toggle('pre139742794290672', 'post139742794290672')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742794290672', 'post139742794290672')"><pre></pre></li>
<li onclick="toggle('pre139742794290672', 'post139742794290672')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794290672')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794290672">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742794310000">
<ol start="242" class="pre-context" id="pre139742794310000">
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> break</pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre></pre></li>
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742794310000">
<li onclick="toggle('pre139742794310000', 'post139742794310000')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794310000')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794310000">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742794242888">
<ol start="171" class="pre-context" id="pre139742794242888">
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre></pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre></pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742794242888">
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> break</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre></pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794242888')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794242888">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742757533888">
<ol start="39" class="pre-context" id="pre139742757533888">
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> )</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> )</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742757533888">
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre></pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757533888')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757533888">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742757459224">
<ol start="60" class="pre-context" id="pre139742757459224">
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre></pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742757459224">
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742757459224', 'post139742757459224')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757459224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757459224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742737498408">
<ol start="58" class="pre-context" id="pre139742737498408">
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> """</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> try:</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742737498408">
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> )</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> else:</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre></pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre></pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737498408')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737498408">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232327279_common-unicode-ascii-escaped-tomcatBlocked-%255C'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1627588242294726840.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2089628332084608330.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686081'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=Wfferrt9u31OwQ5DkTt35hKTSRnm6OG0T80jc'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56637'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877707839070'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18654d10f0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18654d1070></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232327279_common-unicode-ascii-escaped-tomcatBlocked-%255C; FilePart:object = /tmp/mmp.output.2089628332084608330.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1627588242294726840.tmp (1032 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:48 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758695424">
<ol start="32" class="pre-context" id="pre139742758695424">
<li onclick="toggle('pre139742758695424', 'post139742758695424')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758695424', 'post139742758695424')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758695424', 'post139742758695424')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758695424', 'post139742758695424')"><pre> """</pre></li>
<li onclick="toggle('pre139742758695424', 'post139742758695424')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758695424', 'post139742758695424')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758695424', 'post139742758695424')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758695424', 'post139742758695424')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758695424">
<li onclick="toggle('pre139742758695424', 'post139742758695424')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758695424', 'post139742758695424')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758695424', 'post139742758695424')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758695424', 'post139742758695424')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758695424', 'post139742758695424')"><pre></pre></li>
<li onclick="toggle('pre139742758695424', 'post139742758695424')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758695424')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758695424">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758696648">
<ol start="242" class="pre-context" id="pre139742758696648">
<li onclick="toggle('pre139742758696648', 'post139742758696648')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758696648', 'post139742758696648')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758696648', 'post139742758696648')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758696648', 'post139742758696648')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758696648', 'post139742758696648')"><pre> break</pre></li>
<li onclick="toggle('pre139742758696648', 'post139742758696648')"><pre></pre></li>
<li onclick="toggle('pre139742758696648', 'post139742758696648')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758696648', 'post139742758696648')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758696648">
<li onclick="toggle('pre139742758696648', 'post139742758696648')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758696648')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758696648">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758695784">
<ol start="171" class="pre-context" id="pre139742758695784">
<li onclick="toggle('pre139742758695784', 'post139742758695784')"><pre></pre></li>
<li onclick="toggle('pre139742758695784', 'post139742758695784')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758695784', 'post139742758695784')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758695784', 'post139742758695784')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758695784', 'post139742758695784')"><pre></pre></li>
<li onclick="toggle('pre139742758695784', 'post139742758695784')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758695784', 'post139742758695784')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758695784', 'post139742758695784')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758695784">
<li onclick="toggle('pre139742758695784', 'post139742758695784')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758695784', 'post139742758695784')"><pre> break</pre></li>
<li onclick="toggle('pre139742758695784', 'post139742758695784')"><pre></pre></li>
<li onclick="toggle('pre139742758695784', 'post139742758695784')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758695784', 'post139742758695784')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758695784', 'post139742758695784')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758695784')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758695784">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742761995584">
<ol start="39" class="pre-context" id="pre139742761995584">
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> )</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> )</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742761995584">
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre></pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761995584')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761995584">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742761996232">
<ol start="60" class="pre-context" id="pre139742761996232">
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre></pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742761996232">
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761996232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761996232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758697800">
<ol start="58" class="pre-context" id="pre139742758697800">
<li onclick="toggle('pre139742758697800', 'post139742758697800')"><pre> """</pre></li>
<li onclick="toggle('pre139742758697800', 'post139742758697800')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758697800', 'post139742758697800')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758697800', 'post139742758697800')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758697800', 'post139742758697800')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758697800', 'post139742758697800')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758697800', 'post139742758697800')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758697800', 'post139742758697800')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758697800">
<li onclick="toggle('pre139742758697800', 'post139742758697800')"><pre> )</pre></li>
<li onclick="toggle('pre139742758697800', 'post139742758697800')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758697800', 'post139742758697800')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758697800', 'post139742758697800')"><pre></pre></li>
<li onclick="toggle('pre139742758697800', 'post139742758697800')"><pre></pre></li>
<li onclick="toggle('pre139742758697800', 'post139742758697800')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758697800')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758697800">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232327513_common-unicode-ascii-semi-colon-test-%253B'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.521951541071234661.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2198646391371554324.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686076'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=WQ3C8DKUyoXnU3Z7qUQORBOV2WDqNcrrWxg9S-p'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56638'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877708048386'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186579aeb0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186579a430></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232327513_common-unicode-ascii-semi-colon-test-%253B; FilePart:object = /tmp/mmp.output.2198646391371554324.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.521951541071234661.tmp (1026 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:48 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758318880">
<ol start="32" class="pre-context" id="pre139742758318880">
<li onclick="toggle('pre139742758318880', 'post139742758318880')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758318880', 'post139742758318880')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758318880', 'post139742758318880')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758318880', 'post139742758318880')"><pre> """</pre></li>
<li onclick="toggle('pre139742758318880', 'post139742758318880')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758318880', 'post139742758318880')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758318880', 'post139742758318880')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758318880', 'post139742758318880')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758318880">
<li onclick="toggle('pre139742758318880', 'post139742758318880')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758318880', 'post139742758318880')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758318880', 'post139742758318880')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758318880', 'post139742758318880')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758318880', 'post139742758318880')"><pre></pre></li>
<li onclick="toggle('pre139742758318880', 'post139742758318880')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758318880')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758318880">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758320032">
<ol start="242" class="pre-context" id="pre139742758320032">
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> break</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre></pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758320032">
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758320032')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758320032">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758321184">
<ol start="171" class="pre-context" id="pre139742758321184">
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre></pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre></pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758321184">
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> break</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre></pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758321184')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758321184">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758318736">
<ol start="39" class="pre-context" id="pre139742758318736">
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> )</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> )</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758318736">
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre></pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758318736', 'post139742758318736')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758318736')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758318736">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758318664">
<ol start="60" class="pre-context" id="pre139742758318664">
<li onclick="toggle('pre139742758318664', 'post139742758318664')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758318664', 'post139742758318664')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758318664', 'post139742758318664')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758318664', 'post139742758318664')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758318664', 'post139742758318664')"><pre></pre></li>
<li onclick="toggle('pre139742758318664', 'post139742758318664')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758318664', 'post139742758318664')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758318664', 'post139742758318664')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758318664">
<li onclick="toggle('pre139742758318664', 'post139742758318664')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758318664', 'post139742758318664')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758318664', 'post139742758318664')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758318664', 'post139742758318664')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758318664', 'post139742758318664')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758318664', 'post139742758318664')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758318664')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758318664">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758319240">
<ol start="58" class="pre-context" id="pre139742758319240">
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> """</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758319240">
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> )</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre></pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre></pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758319240')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758319240">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232327696_common-unicode-ascii-escaped-%25'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8815764708178303821.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4157061870016413716.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686025'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=LYeoUiKVI5bVQSuydRj7ILK4rGeHd0q'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56640'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877708215938'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18657690b0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865769eb0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232327696_common-unicode-ascii-escaped-%25; FilePart:object = /tmp/mmp.output.4157061870016413716.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8815764708178303821.tmp (1016 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:48 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742794291608">
<ol start="32" class="pre-context" id="pre139742794291608">
<li onclick="toggle('pre139742794291608', 'post139742794291608')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742794291608', 'post139742794291608')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742794291608', 'post139742794291608')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742794291608', 'post139742794291608')"><pre> """</pre></li>
<li onclick="toggle('pre139742794291608', 'post139742794291608')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742794291608', 'post139742794291608')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742794291608', 'post139742794291608')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742794291608', 'post139742794291608')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742794291608">
<li onclick="toggle('pre139742794291608', 'post139742794291608')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742794291608', 'post139742794291608')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742794291608', 'post139742794291608')"><pre> return response</pre></li>
<li onclick="toggle('pre139742794291608', 'post139742794291608')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742794291608', 'post139742794291608')"><pre></pre></li>
<li onclick="toggle('pre139742794291608', 'post139742794291608')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794291608')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794291608">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742794291320">
<ol start="242" class="pre-context" id="pre139742794291320">
<li onclick="toggle('pre139742794291320', 'post139742794291320')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742794291320', 'post139742794291320')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742794291320', 'post139742794291320')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742794291320', 'post139742794291320')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742794291320', 'post139742794291320')"><pre> break</pre></li>
<li onclick="toggle('pre139742794291320', 'post139742794291320')"><pre></pre></li>
<li onclick="toggle('pre139742794291320', 'post139742794291320')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742794291320', 'post139742794291320')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742794291320">
<li onclick="toggle('pre139742794291320', 'post139742794291320')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794291320')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794291320">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742794291104">
<ol start="171" class="pre-context" id="pre139742794291104">
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre></pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre></pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742794291104">
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> break</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre></pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794291104')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794291104">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758435008">
<ol start="39" class="pre-context" id="pre139742758435008">
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> )</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> )</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758435008">
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre></pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758435008')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758435008">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758320896">
<ol start="60" class="pre-context" id="pre139742758320896">
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre></pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758320896">
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758320896')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758320896">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742794291824">
<ol start="58" class="pre-context" id="pre139742794291824">
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> """</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> try:</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742794291824">
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> )</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> else:</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre></pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre></pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794291824')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794291824">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232327892_common-unicode-ascii-escaped-space%20x%20x'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.9047029107971694425.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5934997255005127245.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686045'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=T5AxujbcGGkGdydY9QIsD8ePYQYsNsL'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56641'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877708396953'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18655619f0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865561870></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232327892_common-unicode-ascii-escaped-space%20x%20x; FilePart:object = /tmp/mmp.output.5934997255005127245.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.9047029107971694425.tmp (1026 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:48 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742737527368">
<ol start="32" class="pre-context" id="pre139742737527368">
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> """</pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742737527368">
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> return response</pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre></pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737527368')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737527368">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742759019152">
<ol start="242" class="pre-context" id="pre139742759019152">
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> break</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre></pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742759019152">
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759019152')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759019152">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139743349687216">
<ol start="171" class="pre-context" id="pre139743349687216">
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre></pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre></pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139743349687216">
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> if response:</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> break</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre></pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139743349687216')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139743349687216">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742735556904">
<ol start="39" class="pre-context" id="pre139742735556904">
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> )</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> )</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742735556904">
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre></pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735556904')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735556904">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742735557048">
<ol start="60" class="pre-context" id="pre139742735557048">
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre></pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742735557048">
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735557048')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735557048">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742757961024">
<ol start="58" class="pre-context" id="pre139742757961024">
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> """</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> try:</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742757961024">
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> )</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> else:</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre></pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre></pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757961024')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757961024">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232328222_common-unicode-ascii-escape-anyway-%2B'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7304803760259297206.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.438749651104403034.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686032'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=PHOgSKjmVu7buEHGi2CZeZo2qjjg0R'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56642'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877708685742'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186653da30></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865619b70></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232328222_common-unicode-ascii-escape-anyway-%2B; FilePart:object = /tmp/mmp.output.438749651104403034.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7304803760259297206.tmp (1022 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:48 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742761837920">
<ol start="32" class="pre-context" id="pre139742761837920">
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> """</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742761837920">
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> return response</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre></pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761837920')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761837920">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758321184">
<ol start="242" class="pre-context" id="pre139742758321184">
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> break</pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre></pre></li>
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758321184">
<li onclick="toggle('pre139742758321184', 'post139742758321184')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758321184')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758321184">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758320032">
<ol start="171" class="pre-context" id="pre139742758320032">
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre></pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre></pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758320032">
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> break</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre></pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758320032', 'post139742758320032')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758320032')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758320032">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758319240">
<ol start="39" class="pre-context" id="pre139742758319240">
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> )</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> )</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758319240">
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre></pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758319240', 'post139742758319240')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758319240')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758319240">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758318448">
<ol start="60" class="pre-context" id="pre139742758318448">
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre></pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758318448">
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758318448')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758318448">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742761840080">
<ol start="58" class="pre-context" id="pre139742761840080">
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> """</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> try:</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742761840080">
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> )</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> else:</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre></pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre></pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761840080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761840080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232328408_common-unicode-ascii-escape-space-v-plus-%2B%20%2B%2520%20%2520%2B'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5576028581203318881.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6776523945988852110.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686121'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=vIDCtcVA5svL51lx3Oz7JjTIfHQVDTIZz9iMbS'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56643'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877708854021'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18656d3bb0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18656d3eb0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232328408_common-unicode-ascii-escape-space-v-plus-%2B%20%2B%2520%20%2520%2B; FilePart:object = /tmp/mmp.output.6776523945988852110.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5576028581203318881.tmp (1050 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:49 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742761840152">
<ol start="32" class="pre-context" id="pre139742761840152">
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> """</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742761840152">
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> return response</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre></pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761840152')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761840152">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742761840080">
<ol start="242" class="pre-context" id="pre139742761840080">
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> break</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre></pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742761840080">
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761840080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761840080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742761838568">
<ol start="171" class="pre-context" id="pre139742761838568">
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre></pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre></pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742761838568">
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> break</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre></pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761838568')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761838568">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742761839648">
<ol start="39" class="pre-context" id="pre139742761839648">
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> )</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> )</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742761839648">
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre></pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761839648')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761839648">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742761839720">
<ol start="60" class="pre-context" id="pre139742761839720">
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre></pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742761839720">
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761839720')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761839720">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742761839072">
<ol start="58" class="pre-context" id="pre139742761839072">
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> """</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> try:</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742761839072">
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> )</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> else:</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre></pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre></pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761839072')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761839072">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232328627_path-unicode-ascii-safe-&=&='</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7595248533087753986.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3246474716535144740.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686057'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=5gldrKFs070pnyo4863Twr2xbCe6iGgpJzuI8CJ'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56644'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877709064984'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186655a170></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18656d3cb0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232328627_path-unicode-ascii-safe-&=&=; FilePart:object = /tmp/mmp.output.3246474716535144740.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7595248533087753986.tmp (1020 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:49 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758718424">
<ol start="32" class="pre-context" id="pre139742758718424">
<li onclick="toggle('pre139742758718424', 'post139742758718424')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758718424', 'post139742758718424')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758718424', 'post139742758718424')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758718424', 'post139742758718424')"><pre> """</pre></li>
<li onclick="toggle('pre139742758718424', 'post139742758718424')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758718424', 'post139742758718424')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758718424', 'post139742758718424')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758718424', 'post139742758718424')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758718424">
<li onclick="toggle('pre139742758718424', 'post139742758718424')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758718424', 'post139742758718424')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758718424', 'post139742758718424')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758718424', 'post139742758718424')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758718424', 'post139742758718424')"><pre></pre></li>
<li onclick="toggle('pre139742758718424', 'post139742758718424')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758718424')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758718424">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742761826496">
<ol start="242" class="pre-context" id="pre139742761826496">
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> break</pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre></pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742761826496">
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761826496')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761826496">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742757765632">
<ol start="171" class="pre-context" id="pre139742757765632">
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre></pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre></pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742757765632">
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> break</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre></pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742757765632', 'post139742757765632')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757765632')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757765632">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742757769160">
<ol start="39" class="pre-context" id="pre139742757769160">
<li onclick="toggle('pre139742757769160', 'post139742757769160')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742757769160', 'post139742757769160')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742757769160', 'post139742757769160')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742757769160', 'post139742757769160')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742757769160', 'post139742757769160')"><pre> )</pre></li>
<li onclick="toggle('pre139742757769160', 'post139742757769160')"><pre> )</pre></li>
<li onclick="toggle('pre139742757769160', 'post139742757769160')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742757769160', 'post139742757769160')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742757769160">
<li onclick="toggle('pre139742757769160', 'post139742757769160')"><pre></pre></li>
<li onclick="toggle('pre139742757769160', 'post139742757769160')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742757769160', 'post139742757769160')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742757769160', 'post139742757769160')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742757769160', 'post139742757769160')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742757769160', 'post139742757769160')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757769160')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757769160">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742757768224">
<ol start="60" class="pre-context" id="pre139742757768224">
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre></pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742757768224">
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742757768224', 'post139742757768224')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757768224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757768224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758718352">
<ol start="58" class="pre-context" id="pre139742758718352">
<li onclick="toggle('pre139742758718352', 'post139742758718352')"><pre> """</pre></li>
<li onclick="toggle('pre139742758718352', 'post139742758718352')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758718352', 'post139742758718352')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758718352', 'post139742758718352')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758718352', 'post139742758718352')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758718352', 'post139742758718352')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758718352', 'post139742758718352')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758718352', 'post139742758718352')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758718352">
<li onclick="toggle('pre139742758718352', 'post139742758718352')"><pre> )</pre></li>
<li onclick="toggle('pre139742758718352', 'post139742758718352')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758718352', 'post139742758718352')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758718352', 'post139742758718352')"><pre></pre></li>
<li onclick="toggle('pre139742758718352', 'post139742758718352')"><pre></pre></li>
<li onclick="toggle('pre139742758718352', 'post139742758718352')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758718352')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758718352">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232328895_path-unicode-ascii-escaped-%3B'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3580700485594330350.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6409461727026082090.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686025'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=bxKgsJ5jYAMXgDfXaem4ZKmYkVFa7LK5'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56646'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877709291415'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186589a2f0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186653da30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232328895_path-unicode-ascii-escaped-%3B; FilePart:object = /tmp/mmp.output.6409461727026082090.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3580700485594330350.tmp (1014 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:49 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742737493888">
<ol start="32" class="pre-context" id="pre139742737493888">
<li onclick="toggle('pre139742737493888', 'post139742737493888')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742737493888', 'post139742737493888')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742737493888', 'post139742737493888')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742737493888', 'post139742737493888')"><pre> """</pre></li>
<li onclick="toggle('pre139742737493888', 'post139742737493888')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742737493888', 'post139742737493888')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742737493888', 'post139742737493888')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742737493888', 'post139742737493888')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742737493888">
<li onclick="toggle('pre139742737493888', 'post139742737493888')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742737493888', 'post139742737493888')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742737493888', 'post139742737493888')"><pre> return response</pre></li>
<li onclick="toggle('pre139742737493888', 'post139742737493888')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742737493888', 'post139742737493888')"><pre></pre></li>
<li onclick="toggle('pre139742737493888', 'post139742737493888')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737493888')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737493888">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758435008">
<ol start="242" class="pre-context" id="pre139742758435008">
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> break</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre></pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758435008">
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758435008')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758435008">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742735556904">
<ol start="171" class="pre-context" id="pre139742735556904">
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre></pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre></pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742735556904">
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> break</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre></pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735556904')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735556904">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742735557048">
<ol start="39" class="pre-context" id="pre139742735557048">
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> )</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> )</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742735557048">
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre></pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735557048')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735557048">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742735557480">
<ol start="60" class="pre-context" id="pre139742735557480">
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre></pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742735557480">
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735557480')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735557480">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742737490576">
<ol start="58" class="pre-context" id="pre139742737490576">
<li onclick="toggle('pre139742737490576', 'post139742737490576')"><pre> """</pre></li>
<li onclick="toggle('pre139742737490576', 'post139742737490576')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742737490576', 'post139742737490576')"><pre> try:</pre></li>
<li onclick="toggle('pre139742737490576', 'post139742737490576')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742737490576', 'post139742737490576')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742737490576', 'post139742737490576')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742737490576', 'post139742737490576')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742737490576', 'post139742737490576')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742737490576">
<li onclick="toggle('pre139742737490576', 'post139742737490576')"><pre> )</pre></li>
<li onclick="toggle('pre139742737490576', 'post139742737490576')"><pre> else:</pre></li>
<li onclick="toggle('pre139742737490576', 'post139742737490576')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742737490576', 'post139742737490576')"><pre></pre></li>
<li onclick="toggle('pre139742737490576', 'post139742737490576')"><pre></pre></li>
<li onclick="toggle('pre139742737490576', 'post139742737490576')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737490576')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737490576">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:2017123232983_path-unicode-ascii-escaped-%3F'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2463379263716097661.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8408848038951967193.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686019'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=Duvs4DGX2SD0Q4gVmdla-VlpLIlM46Q'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56647'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877709460711'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186549e870></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186549e7f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:2017123232983_path-unicode-ascii-escaped-%3F; FilePart:object = /tmp/mmp.output.8408848038951967193.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2463379263716097661.tmp (1013 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:49 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758698232">
<ol start="32" class="pre-context" id="pre139742758698232">
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> """</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758698232">
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre></pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758698232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758698232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758698808">
<ol start="242" class="pre-context" id="pre139742758698808">
<li onclick="toggle('pre139742758698808', 'post139742758698808')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758698808', 'post139742758698808')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758698808', 'post139742758698808')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758698808', 'post139742758698808')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758698808', 'post139742758698808')"><pre> break</pre></li>
<li onclick="toggle('pre139742758698808', 'post139742758698808')"><pre></pre></li>
<li onclick="toggle('pre139742758698808', 'post139742758698808')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758698808', 'post139742758698808')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758698808">
<li onclick="toggle('pre139742758698808', 'post139742758698808')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758698808')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758698808">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758684648">
<ol start="171" class="pre-context" id="pre139742758684648">
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre></pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre></pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758684648">
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> break</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre></pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758684648')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758684648">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758683856">
<ol start="39" class="pre-context" id="pre139742758683856">
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> )</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> )</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758683856">
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre></pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758683856')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758683856">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758684216">
<ol start="60" class="pre-context" id="pre139742758684216">
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre></pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758684216">
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758684216')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758684216">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758698304">
<ol start="58" class="pre-context" id="pre139742758698304">
<li onclick="toggle('pre139742758698304', 'post139742758698304')"><pre> """</pre></li>
<li onclick="toggle('pre139742758698304', 'post139742758698304')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758698304', 'post139742758698304')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758698304', 'post139742758698304')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758698304', 'post139742758698304')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758698304', 'post139742758698304')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758698304', 'post139742758698304')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758698304', 'post139742758698304')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758698304">
<li onclick="toggle('pre139742758698304', 'post139742758698304')"><pre> )</pre></li>
<li onclick="toggle('pre139742758698304', 'post139742758698304')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758698304', 'post139742758698304')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758698304', 'post139742758698304')"><pre></pre></li>
<li onclick="toggle('pre139742758698304', 'post139742758698304')"><pre></pre></li>
<li onclick="toggle('pre139742758698304', 'post139742758698304')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758698304')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758698304">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232329293_path-unicode-ascii-escaped-%2F'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1957923897397211576.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8121258080300363821.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686017'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=xlv2papWCIGWp6ttBG-knxqTKz4i0I'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56649'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877709650204'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18658cd3f0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1888bf94f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232329293_path-unicode-ascii-escaped-%2F; FilePart:object = /tmp/mmp.output.8121258080300363821.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1957923897397211576.tmp (1014 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:49 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758360200">
<ol start="32" class="pre-context" id="pre139742758360200">
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> """</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758360200">
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre></pre></li>
<li onclick="toggle('pre139742758360200', 'post139742758360200')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758360200')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758360200">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758344752">
<ol start="242" class="pre-context" id="pre139742758344752">
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> break</pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre></pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758344752">
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758344752')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758344752">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758343312">
<ol start="171" class="pre-context" id="pre139742758343312">
<li onclick="toggle('pre139742758343312', 'post139742758343312')"><pre></pre></li>
<li onclick="toggle('pre139742758343312', 'post139742758343312')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758343312', 'post139742758343312')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758343312', 'post139742758343312')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758343312', 'post139742758343312')"><pre></pre></li>
<li onclick="toggle('pre139742758343312', 'post139742758343312')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758343312', 'post139742758343312')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758343312', 'post139742758343312')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758343312">
<li onclick="toggle('pre139742758343312', 'post139742758343312')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758343312', 'post139742758343312')"><pre> break</pre></li>
<li onclick="toggle('pre139742758343312', 'post139742758343312')"><pre></pre></li>
<li onclick="toggle('pre139742758343312', 'post139742758343312')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758343312', 'post139742758343312')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758343312', 'post139742758343312')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758343312')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758343312">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758344104">
<ol start="39" class="pre-context" id="pre139742758344104">
<li onclick="toggle('pre139742758344104', 'post139742758344104')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758344104', 'post139742758344104')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758344104', 'post139742758344104')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758344104', 'post139742758344104')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758344104', 'post139742758344104')"><pre> )</pre></li>
<li onclick="toggle('pre139742758344104', 'post139742758344104')"><pre> )</pre></li>
<li onclick="toggle('pre139742758344104', 'post139742758344104')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758344104', 'post139742758344104')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758344104">
<li onclick="toggle('pre139742758344104', 'post139742758344104')"><pre></pre></li>
<li onclick="toggle('pre139742758344104', 'post139742758344104')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758344104', 'post139742758344104')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758344104', 'post139742758344104')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758344104', 'post139742758344104')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758344104', 'post139742758344104')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758344104')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758344104">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758344392">
<ol start="60" class="pre-context" id="pre139742758344392">
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre></pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758344392">
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758344392')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758344392">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758361856">
<ol start="58" class="pre-context" id="pre139742758361856">
<li onclick="toggle('pre139742758361856', 'post139742758361856')"><pre> """</pre></li>
<li onclick="toggle('pre139742758361856', 'post139742758361856')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758361856', 'post139742758361856')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758361856', 'post139742758361856')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758361856', 'post139742758361856')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758361856', 'post139742758361856')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758361856', 'post139742758361856')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758361856', 'post139742758361856')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758361856">
<li onclick="toggle('pre139742758361856', 'post139742758361856')"><pre> )</pre></li>
<li onclick="toggle('pre139742758361856', 'post139742758361856')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758361856', 'post139742758361856')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758361856', 'post139742758361856')"><pre></pre></li>
<li onclick="toggle('pre139742758361856', 'post139742758361856')"><pre></pre></li>
<li onclick="toggle('pre139742758361856', 'post139742758361856')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758361856')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758361856">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232329483_path-unicode-ascii-escaped-%253F'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4818454889268130509.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8253676002875325487.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686053'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=sCiOmrJGAiAuFs2VIUu-yvF70b6By0lt0Mwrnd'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56665'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877709823691'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1865725530></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18657257b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232329483_path-unicode-ascii-escaped-%253F; FilePart:object = /tmp/mmp.output.8253676002875325487.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4818454889268130509.tmp (1016 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:50 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742737483176">
<ol start="32" class="pre-context" id="pre139742737483176">
<li onclick="toggle('pre139742737483176', 'post139742737483176')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742737483176', 'post139742737483176')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742737483176', 'post139742737483176')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742737483176', 'post139742737483176')"><pre> """</pre></li>
<li onclick="toggle('pre139742737483176', 'post139742737483176')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742737483176', 'post139742737483176')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742737483176', 'post139742737483176')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742737483176', 'post139742737483176')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742737483176">
<li onclick="toggle('pre139742737483176', 'post139742737483176')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742737483176', 'post139742737483176')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742737483176', 'post139742737483176')"><pre> return response</pre></li>
<li onclick="toggle('pre139742737483176', 'post139742737483176')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742737483176', 'post139742737483176')"><pre></pre></li>
<li onclick="toggle('pre139742737483176', 'post139742737483176')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737483176')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737483176">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742737484400">
<ol start="242" class="pre-context" id="pre139742737484400">
<li onclick="toggle('pre139742737484400', 'post139742737484400')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742737484400', 'post139742737484400')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742737484400', 'post139742737484400')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742737484400', 'post139742737484400')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742737484400', 'post139742737484400')"><pre> break</pre></li>
<li onclick="toggle('pre139742737484400', 'post139742737484400')"><pre></pre></li>
<li onclick="toggle('pre139742737484400', 'post139742737484400')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742737484400', 'post139742737484400')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742737484400">
<li onclick="toggle('pre139742737484400', 'post139742737484400')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737484400')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737484400">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742759019152">
<ol start="171" class="pre-context" id="pre139742759019152">
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre></pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre></pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742759019152">
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> break</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre></pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759019152')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759019152">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742737498408">
<ol start="39" class="pre-context" id="pre139742737498408">
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> )</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> )</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742737498408">
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre></pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742737498408', 'post139742737498408')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737498408')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737498408">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742737499992">
<ol start="60" class="pre-context" id="pre139742737499992">
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre></pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742737499992">
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742737499992', 'post139742737499992')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737499992')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737499992">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742737484832">
<ol start="58" class="pre-context" id="pre139742737484832">
<li onclick="toggle('pre139742737484832', 'post139742737484832')"><pre> """</pre></li>
<li onclick="toggle('pre139742737484832', 'post139742737484832')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742737484832', 'post139742737484832')"><pre> try:</pre></li>
<li onclick="toggle('pre139742737484832', 'post139742737484832')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742737484832', 'post139742737484832')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742737484832', 'post139742737484832')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742737484832', 'post139742737484832')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742737484832', 'post139742737484832')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742737484832">
<li onclick="toggle('pre139742737484832', 'post139742737484832')"><pre> )</pre></li>
<li onclick="toggle('pre139742737484832', 'post139742737484832')"><pre> else:</pre></li>
<li onclick="toggle('pre139742737484832', 'post139742737484832')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742737484832', 'post139742737484832')"><pre></pre></li>
<li onclick="toggle('pre139742737484832', 'post139742737484832')"><pre></pre></li>
<li onclick="toggle('pre139742737484832', 'post139742737484832')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737484832')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737484832">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232329676_path-unicode-ascii-escaped-%252F'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4381786026453308667.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.9142543931763641797.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686049'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=CcgMowxCMfeTEDC1_SahkuUDzGLHvsdXwTfMP'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56677'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877710007681'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1865483930></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186558c5f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232329676_path-unicode-ascii-escaped-%252F; FilePart:object = /tmp/mmp.output.9142543931763641797.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4381786026453308667.tmp (1016 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:50 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742794303392">
<ol start="32" class="pre-context" id="pre139742794303392">
<li onclick="toggle('pre139742794303392', 'post139742794303392')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742794303392', 'post139742794303392')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742794303392', 'post139742794303392')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742794303392', 'post139742794303392')"><pre> """</pre></li>
<li onclick="toggle('pre139742794303392', 'post139742794303392')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742794303392', 'post139742794303392')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742794303392', 'post139742794303392')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742794303392', 'post139742794303392')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742794303392">
<li onclick="toggle('pre139742794303392', 'post139742794303392')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742794303392', 'post139742794303392')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742794303392', 'post139742794303392')"><pre> return response</pre></li>
<li onclick="toggle('pre139742794303392', 'post139742794303392')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742794303392', 'post139742794303392')"><pre></pre></li>
<li onclick="toggle('pre139742794303392', 'post139742794303392')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794303392')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794303392">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758749680">
<ol start="242" class="pre-context" id="pre139742758749680">
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> break</pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre></pre></li>
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758749680">
<li onclick="toggle('pre139742758749680', 'post139742758749680')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758749680')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758749680">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742766820240">
<ol start="171" class="pre-context" id="pre139742766820240">
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre></pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre></pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742766820240">
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> break</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre></pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742766820240')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742766820240">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742794291104">
<ol start="39" class="pre-context" id="pre139742794291104">
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> )</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> )</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742794291104">
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre></pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742794291104', 'post139742794291104')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794291104')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794291104">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742794291824">
<ol start="60" class="pre-context" id="pre139742794291824">
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre></pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742794291824">
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742794291824', 'post139742794291824')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794291824')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794291824">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742794290600">
<ol start="58" class="pre-context" id="pre139742794290600">
<li onclick="toggle('pre139742794290600', 'post139742794290600')"><pre> """</pre></li>
<li onclick="toggle('pre139742794290600', 'post139742794290600')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742794290600', 'post139742794290600')"><pre> try:</pre></li>
<li onclick="toggle('pre139742794290600', 'post139742794290600')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742794290600', 'post139742794290600')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742794290600', 'post139742794290600')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742794290600', 'post139742794290600')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742794290600', 'post139742794290600')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742794290600">
<li onclick="toggle('pre139742794290600', 'post139742794290600')"><pre> )</pre></li>
<li onclick="toggle('pre139742794290600', 'post139742794290600')"><pre> else:</pre></li>
<li onclick="toggle('pre139742794290600', 'post139742794290600')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742794290600', 'post139742794290600')"><pre></pre></li>
<li onclick="toggle('pre139742794290600', 'post139742794290600')"><pre></pre></li>
<li onclick="toggle('pre139742794290600', 'post139742794290600')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794290600')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794290600">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232321024_path-unicode-ascii-escaped-double-%2F%2Fcase'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5598077575014437153.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7817880384219868898.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686065'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=PBzF2l5Zjw_Pu0tVobLWMYkEiUzEYtRVvwp'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56678'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877710306608'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18654cc970></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1874045bb0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232321024_path-unicode-ascii-escaped-double-%2F%2Fcase; FilePart:object = /tmp/mmp.output.7817880384219868898.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5598077575014437153.tmp (1028 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:50 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742737562296">
<ol start="32" class="pre-context" id="pre139742737562296">
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> """</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742737562296">
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> return response</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre></pre></li>
<li onclick="toggle('pre139742737562296', 'post139742737562296')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737562296')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737562296">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742737561000">
<ol start="242" class="pre-context" id="pre139742737561000">
<li onclick="toggle('pre139742737561000', 'post139742737561000')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742737561000', 'post139742737561000')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742737561000', 'post139742737561000')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742737561000', 'post139742737561000')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742737561000', 'post139742737561000')"><pre> break</pre></li>
<li onclick="toggle('pre139742737561000', 'post139742737561000')"><pre></pre></li>
<li onclick="toggle('pre139742737561000', 'post139742737561000')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742737561000', 'post139742737561000')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742737561000">
<li onclick="toggle('pre139742737561000', 'post139742737561000')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737561000')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737561000">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742737432232">
<ol start="171" class="pre-context" id="pre139742737432232">
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre></pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre></pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742737432232">
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> break</pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre></pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737432232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737432232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742783523440">
<ol start="39" class="pre-context" id="pre139742783523440">
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> )</pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> )</pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742783523440">
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre></pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742783523440', 'post139742783523440')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742783523440')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742783523440">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742757533312">
<ol start="60" class="pre-context" id="pre139742757533312">
<li onclick="toggle('pre139742757533312', 'post139742757533312')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742757533312', 'post139742757533312')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742757533312', 'post139742757533312')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742757533312', 'post139742757533312')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742757533312', 'post139742757533312')"><pre></pre></li>
<li onclick="toggle('pre139742757533312', 'post139742757533312')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742757533312', 'post139742757533312')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742757533312', 'post139742757533312')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742757533312">
<li onclick="toggle('pre139742757533312', 'post139742757533312')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742757533312', 'post139742757533312')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742757533312', 'post139742757533312')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742757533312', 'post139742757533312')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742757533312', 'post139742757533312')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742757533312', 'post139742757533312')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757533312')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757533312">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742737561072">
<ol start="58" class="pre-context" id="pre139742737561072">
<li onclick="toggle('pre139742737561072', 'post139742737561072')"><pre> """</pre></li>
<li onclick="toggle('pre139742737561072', 'post139742737561072')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742737561072', 'post139742737561072')"><pre> try:</pre></li>
<li onclick="toggle('pre139742737561072', 'post139742737561072')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742737561072', 'post139742737561072')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742737561072', 'post139742737561072')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742737561072', 'post139742737561072')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742737561072', 'post139742737561072')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742737561072">
<li onclick="toggle('pre139742737561072', 'post139742737561072')"><pre> )</pre></li>
<li onclick="toggle('pre139742737561072', 'post139742737561072')"><pre> else:</pre></li>
<li onclick="toggle('pre139742737561072', 'post139742737561072')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742737561072', 'post139742737561072')"><pre></pre></li>
<li onclick="toggle('pre139742737561072', 'post139742737561072')"><pre></pre></li>
<li onclick="toggle('pre139742737561072', 'post139742737561072')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737561072')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737561072">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323210207_path-unicode-ascii-escaped-double-trailing%2F%2F'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.609842817152259465.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6902196035965537610.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686054'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=Ah84S_9BzBv1aNzjGIPHonglEKW7yK'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56679'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877710471022'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18655560f0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18655568b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323210207_path-unicode-ascii-escaped-double-trailing%2F%2F; FilePart:object = /tmp/mmp.output.6902196035965537610.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.609842817152259465.tmp (1033 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:50 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742761830160">
<ol start="32" class="pre-context" id="pre139742761830160">
<li onclick="toggle('pre139742761830160', 'post139742761830160')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742761830160', 'post139742761830160')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742761830160', 'post139742761830160')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742761830160', 'post139742761830160')"><pre> """</pre></li>
<li onclick="toggle('pre139742761830160', 'post139742761830160')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742761830160', 'post139742761830160')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742761830160', 'post139742761830160')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742761830160', 'post139742761830160')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742761830160">
<li onclick="toggle('pre139742761830160', 'post139742761830160')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742761830160', 'post139742761830160')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742761830160', 'post139742761830160')"><pre> return response</pre></li>
<li onclick="toggle('pre139742761830160', 'post139742761830160')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742761830160', 'post139742761830160')"><pre></pre></li>
<li onclick="toggle('pre139742761830160', 'post139742761830160')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761830160')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761830160">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742761825848">
<ol start="242" class="pre-context" id="pre139742761825848">
<li onclick="toggle('pre139742761825848', 'post139742761825848')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742761825848', 'post139742761825848')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742761825848', 'post139742761825848')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742761825848', 'post139742761825848')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761825848', 'post139742761825848')"><pre> break</pre></li>
<li onclick="toggle('pre139742761825848', 'post139742761825848')"><pre></pre></li>
<li onclick="toggle('pre139742761825848', 'post139742761825848')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742761825848', 'post139742761825848')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742761825848">
<li onclick="toggle('pre139742761825848', 'post139742761825848')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761825848')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761825848">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758360272">
<ol start="171" class="pre-context" id="pre139742758360272">
<li onclick="toggle('pre139742758360272', 'post139742758360272')"><pre></pre></li>
<li onclick="toggle('pre139742758360272', 'post139742758360272')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758360272', 'post139742758360272')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758360272', 'post139742758360272')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758360272', 'post139742758360272')"><pre></pre></li>
<li onclick="toggle('pre139742758360272', 'post139742758360272')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758360272', 'post139742758360272')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758360272', 'post139742758360272')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758360272">
<li onclick="toggle('pre139742758360272', 'post139742758360272')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758360272', 'post139742758360272')"><pre> break</pre></li>
<li onclick="toggle('pre139742758360272', 'post139742758360272')"><pre></pre></li>
<li onclick="toggle('pre139742758360272', 'post139742758360272')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758360272', 'post139742758360272')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758360272', 'post139742758360272')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758360272')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758360272">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742761996232">
<ol start="39" class="pre-context" id="pre139742761996232">
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> )</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> )</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742761996232">
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre></pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761996232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761996232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742761995584">
<ol start="60" class="pre-context" id="pre139742761995584">
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre></pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742761995584">
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742761995584', 'post139742761995584')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761995584')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761995584">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758279432">
<ol start="58" class="pre-context" id="pre139742758279432">
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> """</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758279432">
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> )</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre></pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre></pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758279432')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758279432">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323210480_path-unicode-ascii-escaped-double-%252F%252Fcase'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4444598894188651122.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8644366139920261636.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686087'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=H1UmeDYX1uy0EsPaTd_BBgx2Ht_RgdtLvVGET5'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56681'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877710716497'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186655a370></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18658ba1f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323210480_path-unicode-ascii-escaped-double-%252F%252Fcase; FilePart:object = /tmp/mmp.output.8644366139920261636.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4444598894188651122.tmp (1033 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:50 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742761829800">
<ol start="32" class="pre-context" id="pre139742761829800">
<li onclick="toggle('pre139742761829800', 'post139742761829800')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742761829800', 'post139742761829800')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742761829800', 'post139742761829800')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742761829800', 'post139742761829800')"><pre> """</pre></li>
<li onclick="toggle('pre139742761829800', 'post139742761829800')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742761829800', 'post139742761829800')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742761829800', 'post139742761829800')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742761829800', 'post139742761829800')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742761829800">
<li onclick="toggle('pre139742761829800', 'post139742761829800')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742761829800', 'post139742761829800')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742761829800', 'post139742761829800')"><pre> return response</pre></li>
<li onclick="toggle('pre139742761829800', 'post139742761829800')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742761829800', 'post139742761829800')"><pre></pre></li>
<li onclick="toggle('pre139742761829800', 'post139742761829800')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761829800')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761829800">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742761831168">
<ol start="242" class="pre-context" id="pre139742761831168">
<li onclick="toggle('pre139742761831168', 'post139742761831168')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742761831168', 'post139742761831168')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742761831168', 'post139742761831168')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742761831168', 'post139742761831168')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761831168', 'post139742761831168')"><pre> break</pre></li>
<li onclick="toggle('pre139742761831168', 'post139742761831168')"><pre></pre></li>
<li onclick="toggle('pre139742761831168', 'post139742761831168')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742761831168', 'post139742761831168')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742761831168">
<li onclick="toggle('pre139742761831168', 'post139742761831168')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761831168')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761831168">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742761825992">
<ol start="171" class="pre-context" id="pre139742761825992">
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre></pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre></pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742761825992">
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> break</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre></pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742761825992', 'post139742761825992')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761825992')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761825992">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742761826496">
<ol start="39" class="pre-context" id="pre139742761826496">
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> )</pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> )</pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742761826496">
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre></pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742761826496', 'post139742761826496')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761826496')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761826496">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742761827720">
<ol start="60" class="pre-context" id="pre139742761827720">
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre></pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742761827720">
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761827720')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761827720">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742761830520">
<ol start="58" class="pre-context" id="pre139742761830520">
<li onclick="toggle('pre139742761830520', 'post139742761830520')"><pre> """</pre></li>
<li onclick="toggle('pre139742761830520', 'post139742761830520')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742761830520', 'post139742761830520')"><pre> try:</pre></li>
<li onclick="toggle('pre139742761830520', 'post139742761830520')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742761830520', 'post139742761830520')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742761830520', 'post139742761830520')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742761830520', 'post139742761830520')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742761830520', 'post139742761830520')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742761830520">
<li onclick="toggle('pre139742761830520', 'post139742761830520')"><pre> )</pre></li>
<li onclick="toggle('pre139742761830520', 'post139742761830520')"><pre> else:</pre></li>
<li onclick="toggle('pre139742761830520', 'post139742761830520')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742761830520', 'post139742761830520')"><pre></pre></li>
<li onclick="toggle('pre139742761830520', 'post139742761830520')"><pre></pre></li>
<li onclick="toggle('pre139742761830520', 'post139742761830520')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761830520')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761830520">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323210665_path-unicode-ascii-escaped-double-trailing%252F%252F'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7804048951579256467.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6051206472495098282.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686063'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=aJZrlcc1F_jed70i9KwEZ-BBFIfcoL'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56683'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877710884097'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186579a870></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186579a6b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323210665_path-unicode-ascii-escaped-double-trailing%252F%252F; FilePart:object = /tmp/mmp.output.6051206472495098282.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7804048951579256467.tmp (1037 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:51 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742756126232">
<ol start="32" class="pre-context" id="pre139742756126232">
<li onclick="toggle('pre139742756126232', 'post139742756126232')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742756126232', 'post139742756126232')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742756126232', 'post139742756126232')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742756126232', 'post139742756126232')"><pre> """</pre></li>
<li onclick="toggle('pre139742756126232', 'post139742756126232')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742756126232', 'post139742756126232')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742756126232', 'post139742756126232')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742756126232', 'post139742756126232')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742756126232">
<li onclick="toggle('pre139742756126232', 'post139742756126232')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742756126232', 'post139742756126232')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742756126232', 'post139742756126232')"><pre> return response</pre></li>
<li onclick="toggle('pre139742756126232', 'post139742756126232')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742756126232', 'post139742756126232')"><pre></pre></li>
<li onclick="toggle('pre139742756126232', 'post139742756126232')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742756126232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742756126232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742735557048">
<ol start="242" class="pre-context" id="pre139742735557048">
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> break</pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre></pre></li>
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742735557048">
<li onclick="toggle('pre139742735557048', 'post139742735557048')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735557048')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735557048">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742735556904">
<ol start="171" class="pre-context" id="pre139742735556904">
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre></pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre></pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742735556904">
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> break</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre></pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742735556904', 'post139742735556904')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735556904')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735556904">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742735557480">
<ol start="39" class="pre-context" id="pre139742735557480">
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> )</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> )</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742735557480">
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre></pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742735557480', 'post139742735557480')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735557480')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735557480">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742735557264">
<ol start="60" class="pre-context" id="pre139742735557264">
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre></pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742735557264">
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735557264')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735557264">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742756126520">
<ol start="58" class="pre-context" id="pre139742756126520">
<li onclick="toggle('pre139742756126520', 'post139742756126520')"><pre> """</pre></li>
<li onclick="toggle('pre139742756126520', 'post139742756126520')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742756126520', 'post139742756126520')"><pre> try:</pre></li>
<li onclick="toggle('pre139742756126520', 'post139742756126520')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742756126520', 'post139742756126520')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742756126520', 'post139742756126520')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742756126520', 'post139742756126520')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742756126520', 'post139742756126520')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742756126520">
<li onclick="toggle('pre139742756126520', 'post139742756126520')"><pre> )</pre></li>
<li onclick="toggle('pre139742756126520', 'post139742756126520')"><pre> else:</pre></li>
<li onclick="toggle('pre139742756126520', 'post139742756126520')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742756126520', 'post139742756126520')"><pre></pre></li>
<li onclick="toggle('pre139742756126520', 'post139742756126520')"><pre></pre></li>
<li onclick="toggle('pre139742756126520', 'post139742756126520')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742756126520')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742756126520">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323210900_common-unicode-bmp-1byte-escaped-%C2%A1%C2%A2%C2%A3'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1705459304202432982.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1592707760552149760.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686073'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=L1xVlXxaJMXybDOovhT6X4LUm-BWBcnqP'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56685'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877711110876'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186560eb70></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186560e430></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323210900_common-unicode-bmp-1byte-escaped-%C2%A1%C2%A2%C2%A3; FilePart:object = /tmp/mmp.output.1592707760552149760.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1705459304202432982.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:51 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742735557264">
<ol start="32" class="pre-context" id="pre139742735557264">
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> """</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742735557264">
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> return response</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre></pre></li>
<li onclick="toggle('pre139742735557264', 'post139742735557264')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735557264')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735557264">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742737432232">
<ol start="242" class="pre-context" id="pre139742737432232">
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> break</pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre></pre></li>
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742737432232">
<li onclick="toggle('pre139742737432232', 'post139742737432232')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737432232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737432232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742735535280">
<ol start="171" class="pre-context" id="pre139742735535280">
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre></pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre></pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742735535280">
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> break</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre></pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735535280')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735535280">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742735534056">
<ol start="39" class="pre-context" id="pre139742735534056">
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> )</pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> )</pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742735534056">
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre></pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735534056')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735534056">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742735532472">
<ol start="60" class="pre-context" id="pre139742735532472">
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre></pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742735532472">
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735532472')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735532472">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139743349687216">
<ol start="58" class="pre-context" id="pre139743349687216">
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> """</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> try:</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139743349687216">
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> )</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> else:</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre></pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre></pre></li>
<li onclick="toggle('pre139743349687216', 'post139743349687216')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139743349687216')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139743349687216">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323211111_common-unicode-bmp-2byte-escaped-%E4%A6%B9%E4%A6%BA'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7874557973990280326.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.114282761902530480.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686084'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=tTV8PR-x4CQ8-TKsXorcFxFdOP7BfeLmYxiR'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56688'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877711287891'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18654c6d30></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1874045bb0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323211111_common-unicode-bmp-2byte-escaped-%E4%A6%B9%E4%A6%BA; FilePart:object = /tmp/mmp.output.114282761902530480.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7874557973990280326.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:51 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758250400">
<ol start="32" class="pre-context" id="pre139742758250400">
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> """</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758250400">
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre></pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758250400')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758250400">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758248528">
<ol start="242" class="pre-context" id="pre139742758248528">
<li onclick="toggle('pre139742758248528', 'post139742758248528')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758248528', 'post139742758248528')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758248528', 'post139742758248528')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758248528', 'post139742758248528')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758248528', 'post139742758248528')"><pre> break</pre></li>
<li onclick="toggle('pre139742758248528', 'post139742758248528')"><pre></pre></li>
<li onclick="toggle('pre139742758248528', 'post139742758248528')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758248528', 'post139742758248528')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758248528">
<li onclick="toggle('pre139742758248528', 'post139742758248528')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758248528')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758248528">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758249176">
<ol start="171" class="pre-context" id="pre139742758249176">
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre></pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre></pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758249176">
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> break</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre></pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758249176')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758249176">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742761996232">
<ol start="39" class="pre-context" id="pre139742761996232">
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> )</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> )</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742761996232">
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre></pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742761996232', 'post139742761996232')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761996232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761996232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742761827720">
<ol start="60" class="pre-context" id="pre139742761827720">
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre></pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742761827720">
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742761827720', 'post139742761827720')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761827720')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761827720">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758251552">
<ol start="58" class="pre-context" id="pre139742758251552">
<li onclick="toggle('pre139742758251552', 'post139742758251552')"><pre> """</pre></li>
<li onclick="toggle('pre139742758251552', 'post139742758251552')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758251552', 'post139742758251552')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758251552', 'post139742758251552')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758251552', 'post139742758251552')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758251552', 'post139742758251552')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758251552', 'post139742758251552')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758251552', 'post139742758251552')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758251552">
<li onclick="toggle('pre139742758251552', 'post139742758251552')"><pre> )</pre></li>
<li onclick="toggle('pre139742758251552', 'post139742758251552')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758251552', 'post139742758251552')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758251552', 'post139742758251552')"><pre></pre></li>
<li onclick="toggle('pre139742758251552', 'post139742758251552')"><pre></pre></li>
<li onclick="toggle('pre139742758251552', 'post139742758251552')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758251552')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758251552">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323211311_common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5193793010667122697.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7319769957774759851.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686097'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=6WnQlnt07RNrmOW1BJ0oQM8SHBuLiC3uejTx'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56690'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877711464417'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18657f7d30></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18657f75f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323211311_common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815; FilePart:object = /tmp/mmp.output.7319769957774759851.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5193793010667122697.tmp (1042 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:51 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742761839072">
<ol start="32" class="pre-context" id="pre139742761839072">
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> """</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742761839072">
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> return response</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre></pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761839072')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761839072">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742761838856">
<ol start="242" class="pre-context" id="pre139742761838856">
<li onclick="toggle('pre139742761838856', 'post139742761838856')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742761838856', 'post139742761838856')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742761838856', 'post139742761838856')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742761838856', 'post139742761838856')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761838856', 'post139742761838856')"><pre> break</pre></li>
<li onclick="toggle('pre139742761838856', 'post139742761838856')"><pre></pre></li>
<li onclick="toggle('pre139742761838856', 'post139742761838856')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742761838856', 'post139742761838856')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742761838856">
<li onclick="toggle('pre139742761838856', 'post139742761838856')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761838856')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761838856">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742761840368">
<ol start="171" class="pre-context" id="pre139742761840368">
<li onclick="toggle('pre139742761840368', 'post139742761840368')"><pre></pre></li>
<li onclick="toggle('pre139742761840368', 'post139742761840368')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742761840368', 'post139742761840368')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742761840368', 'post139742761840368')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742761840368', 'post139742761840368')"><pre></pre></li>
<li onclick="toggle('pre139742761840368', 'post139742761840368')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742761840368', 'post139742761840368')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742761840368', 'post139742761840368')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742761840368">
<li onclick="toggle('pre139742761840368', 'post139742761840368')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761840368', 'post139742761840368')"><pre> break</pre></li>
<li onclick="toggle('pre139742761840368', 'post139742761840368')"><pre></pre></li>
<li onclick="toggle('pre139742761840368', 'post139742761840368')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742761840368', 'post139742761840368')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742761840368', 'post139742761840368')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761840368')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761840368">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742761839720">
<ol start="39" class="pre-context" id="pre139742761839720">
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> )</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> )</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742761839720">
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre></pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761839720')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761839720">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742761838568">
<ol start="60" class="pre-context" id="pre139742761838568">
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre></pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742761838568">
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761838568')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761838568">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742761837920">
<ol start="58" class="pre-context" id="pre139742761837920">
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> """</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> try:</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742761837920">
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> )</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> else:</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre></pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre></pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761837920')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761837920">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323211508_path-ascii-doc-example-10.1000%2F182'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5748562601922335933.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4114346800012729958.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686051'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=sVL7KvZO-rSYnWy5tm7-gHu8wM1sbyxG7bM'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56692'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877711641234'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1865769e70></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865769eb0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323211508_path-ascii-doc-example-10.1000%2F182; FilePart:object = /tmp/mmp.output.4114346800012729958.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5748562601922335933.tmp (1021 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:51 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758011536">
<ol start="32" class="pre-context" id="pre139742758011536">
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> """</pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758011536">
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre></pre></li>
<li onclick="toggle('pre139742758011536', 'post139742758011536')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758011536')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758011536">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758684648">
<ol start="242" class="pre-context" id="pre139742758684648">
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> break</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre></pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758684648">
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758684648')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758684648">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758684072">
<ol start="171" class="pre-context" id="pre139742758684072">
<li onclick="toggle('pre139742758684072', 'post139742758684072')"><pre></pre></li>
<li onclick="toggle('pre139742758684072', 'post139742758684072')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758684072', 'post139742758684072')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758684072', 'post139742758684072')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758684072', 'post139742758684072')"><pre></pre></li>
<li onclick="toggle('pre139742758684072', 'post139742758684072')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758684072', 'post139742758684072')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758684072', 'post139742758684072')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758684072">
<li onclick="toggle('pre139742758684072', 'post139742758684072')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758684072', 'post139742758684072')"><pre> break</pre></li>
<li onclick="toggle('pre139742758684072', 'post139742758684072')"><pre></pre></li>
<li onclick="toggle('pre139742758684072', 'post139742758684072')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758684072', 'post139742758684072')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758684072', 'post139742758684072')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758684072')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758684072">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758683064">
<ol start="39" class="pre-context" id="pre139742758683064">
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> )</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> )</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758683064">
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre></pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758683064')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758683064">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758684216">
<ol start="60" class="pre-context" id="pre139742758684216">
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre></pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758684216">
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758684216')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758684216">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758012616">
<ol start="58" class="pre-context" id="pre139742758012616">
<li onclick="toggle('pre139742758012616', 'post139742758012616')"><pre> """</pre></li>
<li onclick="toggle('pre139742758012616', 'post139742758012616')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758012616', 'post139742758012616')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758012616', 'post139742758012616')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758012616', 'post139742758012616')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758012616', 'post139742758012616')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758012616', 'post139742758012616')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758012616', 'post139742758012616')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758012616">
<li onclick="toggle('pre139742758012616', 'post139742758012616')"><pre> )</pre></li>
<li onclick="toggle('pre139742758012616', 'post139742758012616')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758012616', 'post139742758012616')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758012616', 'post139742758012616')"><pre></pre></li>
<li onclick="toggle('pre139742758012616', 'post139742758012616')"><pre></pre></li>
<li onclick="toggle('pre139742758012616', 'post139742758012616')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758012616')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758012616">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323211698_path-ascii-doc-example-http:%2F%2Fexample.com%2Fdata%2Fmydata%3Frow=24'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6914275148475657013.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7977192589389805894.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686127'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=6zh11slNAp5wjQfkPHOM7QqszspYCKXd23ybw'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56693'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877711812018'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18656d3df0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18656d3eb0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323211698_path-ascii-doc-example-http:%2F%2Fexample.com%2Fdata%2Fmydata%3Frow=24; FilePart:object = /tmp/mmp.output.7977192589389805894.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6914275148475657013.tmp (1055 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:52 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742737543680">
<ol start="32" class="pre-context" id="pre139742737543680">
<li onclick="toggle('pre139742737543680', 'post139742737543680')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742737543680', 'post139742737543680')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742737543680', 'post139742737543680')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742737543680', 'post139742737543680')"><pre> """</pre></li>
<li onclick="toggle('pre139742737543680', 'post139742737543680')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742737543680', 'post139742737543680')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742737543680', 'post139742737543680')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742737543680', 'post139742737543680')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742737543680">
<li onclick="toggle('pre139742737543680', 'post139742737543680')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742737543680', 'post139742737543680')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742737543680', 'post139742737543680')"><pre> return response</pre></li>
<li onclick="toggle('pre139742737543680', 'post139742737543680')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742737543680', 'post139742737543680')"><pre></pre></li>
<li onclick="toggle('pre139742737543680', 'post139742737543680')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737543680')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737543680">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742746001848">
<ol start="242" class="pre-context" id="pre139742746001848">
<li onclick="toggle('pre139742746001848', 'post139742746001848')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742746001848', 'post139742746001848')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742746001848', 'post139742746001848')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742746001848', 'post139742746001848')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742746001848', 'post139742746001848')"><pre> break</pre></li>
<li onclick="toggle('pre139742746001848', 'post139742746001848')"><pre></pre></li>
<li onclick="toggle('pre139742746001848', 'post139742746001848')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742746001848', 'post139742746001848')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742746001848">
<li onclick="toggle('pre139742746001848', 'post139742746001848')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742746001848')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742746001848">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742794242888">
<ol start="171" class="pre-context" id="pre139742794242888">
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre></pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre></pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742794242888">
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> break</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre></pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794242888')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794242888">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758435008">
<ol start="39" class="pre-context" id="pre139742758435008">
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> )</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> )</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758435008">
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre></pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758435008', 'post139742758435008')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758435008')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758435008">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758981784">
<ol start="60" class="pre-context" id="pre139742758981784">
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre></pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758981784">
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758981784')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758981784">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742737545192">
<ol start="58" class="pre-context" id="pre139742737545192">
<li onclick="toggle('pre139742737545192', 'post139742737545192')"><pre> """</pre></li>
<li onclick="toggle('pre139742737545192', 'post139742737545192')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742737545192', 'post139742737545192')"><pre> try:</pre></li>
<li onclick="toggle('pre139742737545192', 'post139742737545192')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742737545192', 'post139742737545192')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742737545192', 'post139742737545192')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742737545192', 'post139742737545192')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742737545192', 'post139742737545192')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742737545192">
<li onclick="toggle('pre139742737545192', 'post139742737545192')"><pre> )</pre></li>
<li onclick="toggle('pre139742737545192', 'post139742737545192')"><pre> else:</pre></li>
<li onclick="toggle('pre139742737545192', 'post139742737545192')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742737545192', 'post139742737545192')"><pre></pre></li>
<li onclick="toggle('pre139742737545192', 'post139742737545192')"><pre></pre></li>
<li onclick="toggle('pre139742737545192', 'post139742737545192')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737545192')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737545192">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323211891_path-ascii-doc-example-ldap:%2F%2Fldap1.example.net:6666%2Fo=University%2520of%2520Michigan,%20c=US%3F%3Fsub%3F(cn=Babs%2520Jensen)'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5102816707605158001.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2121628735039719302.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686237'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=hB9oZF1YyZ7PL76_EHX0Qyhk4ZQtIZKPbj'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56694'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877711985584'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186554b030></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186554b130></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323211891_path-ascii-doc-example-ldap:%2F%2Fldap1.example.net:6666%2Fo=University%2520of%2520Michigan,%20c=US%3F%3Fsub%3F(cn=Babs%2520Jensen); FilePart:object = /tmp/mmp.output.2121628735039719302.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5102816707605158001.tmp (1116 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:52 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742768056800">
<ol start="32" class="pre-context" id="pre139742768056800">
<li onclick="toggle('pre139742768056800', 'post139742768056800')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742768056800', 'post139742768056800')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742768056800', 'post139742768056800')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742768056800', 'post139742768056800')"><pre> """</pre></li>
<li onclick="toggle('pre139742768056800', 'post139742768056800')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742768056800', 'post139742768056800')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742768056800', 'post139742768056800')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742768056800', 'post139742768056800')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742768056800">
<li onclick="toggle('pre139742768056800', 'post139742768056800')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742768056800', 'post139742768056800')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742768056800', 'post139742768056800')"><pre> return response</pre></li>
<li onclick="toggle('pre139742768056800', 'post139742768056800')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742768056800', 'post139742768056800')"><pre></pre></li>
<li onclick="toggle('pre139742768056800', 'post139742768056800')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742768056800')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742768056800">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742767852144">
<ol start="242" class="pre-context" id="pre139742767852144">
<li onclick="toggle('pre139742767852144', 'post139742767852144')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742767852144', 'post139742767852144')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742767852144', 'post139742767852144')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742767852144', 'post139742767852144')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742767852144', 'post139742767852144')"><pre> break</pre></li>
<li onclick="toggle('pre139742767852144', 'post139742767852144')"><pre></pre></li>
<li onclick="toggle('pre139742767852144', 'post139742767852144')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742767852144', 'post139742767852144')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742767852144">
<li onclick="toggle('pre139742767852144', 'post139742767852144')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742767852144')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742767852144">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758981784">
<ol start="171" class="pre-context" id="pre139742758981784">
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre></pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre></pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758981784">
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> break</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre></pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758981784', 'post139742758981784')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758981784')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758981784">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742746001632">
<ol start="39" class="pre-context" id="pre139742746001632">
<li onclick="toggle('pre139742746001632', 'post139742746001632')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742746001632', 'post139742746001632')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742746001632', 'post139742746001632')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742746001632', 'post139742746001632')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742746001632', 'post139742746001632')"><pre> )</pre></li>
<li onclick="toggle('pre139742746001632', 'post139742746001632')"><pre> )</pre></li>
<li onclick="toggle('pre139742746001632', 'post139742746001632')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742746001632', 'post139742746001632')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742746001632">
<li onclick="toggle('pre139742746001632', 'post139742746001632')"><pre></pre></li>
<li onclick="toggle('pre139742746001632', 'post139742746001632')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742746001632', 'post139742746001632')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742746001632', 'post139742746001632')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742746001632', 'post139742746001632')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742746001632', 'post139742746001632')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742746001632')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742746001632">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742759019152">
<ol start="60" class="pre-context" id="pre139742759019152">
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre></pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742759019152">
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742759019152', 'post139742759019152')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759019152')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759019152">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742757533888">
<ol start="58" class="pre-context" id="pre139742757533888">
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> """</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> try:</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742757533888">
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> )</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> else:</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre></pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre></pre></li>
<li onclick="toggle('pre139742757533888', 'post139742757533888')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757533888')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757533888">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323212134_common-bmp-doc-example-%E0%B8%89%E0%B8%B1%E0%B8%99%E0%B8%81%E0%B8%B4%E0%B8%99%E0%B8%81%E0%B8%A3%E0%B8%B0%E0%B8%88%E0%B8%81%E0%B9%84%E0%B8%94%E0%B9%89'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8013187397569662057.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7468264364823630174.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686297'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=SiTlGnjBa3if75OIZ4TBvvzszLE_QydSnLt76C2q'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56695'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877712209066'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18654831b0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186562fc30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323212134_common-bmp-doc-example-%E0%B8%89%E0%B8%B1%E0%B8%99%E0%B8%81%E0%B8%B4%E0%B8%99%E0%B8%81%E0%B8%A3%E0%B8%B0%E0%B8%88%E0%B8%81%E0%B9%84%E0%B8%94%E0%B9%89; FilePart:object = /tmp/mmp.output.7468264364823630174.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8013187397569662057.tmp (1134 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:01:52 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758011752">
<ol start="32" class="pre-context" id="pre139742758011752">
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> """</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758011752">
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre></pre></li>
<li onclick="toggle('pre139742758011752', 'post139742758011752')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758011752')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758011752">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758012040">
<ol start="242" class="pre-context" id="pre139742758012040">
<li onclick="toggle('pre139742758012040', 'post139742758012040')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758012040', 'post139742758012040')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758012040', 'post139742758012040')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758012040', 'post139742758012040')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758012040', 'post139742758012040')"><pre> break</pre></li>
<li onclick="toggle('pre139742758012040', 'post139742758012040')"><pre></pre></li>
<li onclick="toggle('pre139742758012040', 'post139742758012040')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758012040', 'post139742758012040')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758012040">
<li onclick="toggle('pre139742758012040', 'post139742758012040')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758012040')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758012040">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758014704">
<ol start="171" class="pre-context" id="pre139742758014704">
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre></pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre></pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758014704">
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> break</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre></pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758014704', 'post139742758014704')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758014704')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758014704">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758014488">
<ol start="39" class="pre-context" id="pre139742758014488">
<li onclick="toggle('pre139742758014488', 'post139742758014488')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758014488', 'post139742758014488')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758014488', 'post139742758014488')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758014488', 'post139742758014488')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758014488', 'post139742758014488')"><pre> )</pre></li>
<li onclick="toggle('pre139742758014488', 'post139742758014488')"><pre> )</pre></li>
<li onclick="toggle('pre139742758014488', 'post139742758014488')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758014488', 'post139742758014488')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758014488">
<li onclick="toggle('pre139742758014488', 'post139742758014488')"><pre></pre></li>
<li onclick="toggle('pre139742758014488', 'post139742758014488')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758014488', 'post139742758014488')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758014488', 'post139742758014488')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758014488', 'post139742758014488')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758014488', 'post139742758014488')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758014488')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758014488">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758011320">
<ol start="60" class="pre-context" id="pre139742758011320">
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre></pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758011320">
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758011320', 'post139742758011320')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758011320')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758011320">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758011896">
<ol start="58" class="pre-context" id="pre139742758011896">
<li onclick="toggle('pre139742758011896', 'post139742758011896')"><pre> """</pre></li>
<li onclick="toggle('pre139742758011896', 'post139742758011896')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758011896', 'post139742758011896')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758011896', 'post139742758011896')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758011896', 'post139742758011896')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758011896', 'post139742758011896')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758011896', 'post139742758011896')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758011896', 'post139742758011896')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758011896">
<li onclick="toggle('pre139742758011896', 'post139742758011896')"><pre> )</pre></li>
<li onclick="toggle('pre139742758011896', 'post139742758011896')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758011896', 'post139742758011896')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758011896', 'post139742758011896')"><pre></pre></li>
<li onclick="toggle('pre139742758011896', 'post139742758011896')"><pre></pre></li>
<li onclick="toggle('pre139742758011896', 'post139742758011896')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758011896')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758011896">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323212338_common-bmp-doc-example-Is_f%C3%A9idir_liom_ithe_gloine'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6974357837982581196.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6820967002019612603.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686099'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=Pf_SzVW5dJSVBO226DF5lcXsmj3trC8gTVAwkp'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'56697'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877712388396'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18658cd2b0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18658cd4b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323212338_common-bmp-doc-example-Is_f%C3%A9idir_liom_ithe_gloine; FilePart:object = /tmp/mmp.output.6820967002019612603.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6974357837982581196.tmp (1039 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323212581_common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ; FilePart:object = /tmp/mmp.output.5128641342536503641.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7923230785183579709.tmp (1037 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323213953_common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz; FilePart:object = /tmp/mmp.output.6612264536459251334.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6461406840649024637.tmp (1037 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323214639_common-unicode-ascii-safe-0123456789; FilePart:object = /tmp/mmp.output.980573797721018976.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3830502260358048678.tmp (1021 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323215497_common-unicode-ascii-safe-:@$-_.!*()',~; FilePart:object = /tmp/mmp.output.5774319706786440071.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5421211515669176900.tmp (1024 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323216234_common-unicode-ascii-safe-unreserved-._~; FilePart:object = /tmp/mmp.output.902601852876831578.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4469550469947278317.tmp (1025 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323216950_common-unicode-ascii-safe-sub-delims-$!*()',; FilePart:object = /tmp/mmp.output.8534144414098710358.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1283336045513317329.tmp (1029 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323217676_common-unicode-ascii-safe-gen-delims-:@; FilePart:object = /tmp/mmp.output.3153922744653284102.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2174944327673500099.tmp (1024 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323218403_common-unicode-ascii-escaped-%22%23%3C%3E%5B%5D%5E%60%7B%7D%7C; FilePart:object = /tmp/mmp.output.6764984466389950536.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1779773946197305894.tmp (1047 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323219138_common-unicode-ascii-escaped-tomcatBlocked-%5C; FilePart:object = /tmp/mmp.output.4481988960432471757.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1306956487795102027.tmp (1031 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323219864_common-unicode-ascii-escaped-tomcatBlocked-%255C; FilePart:object = /tmp/mmp.output.8378147411164498514.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.35466153009925241.tmp (1033 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323220594_common-unicode-ascii-semi-colon-test-%253B; FilePart:object = /tmp/mmp.output.6343819829643688850.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2347882038249918605.tmp (1027 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323221276_common-unicode-ascii-escaped-%25; FilePart:object = /tmp/mmp.output.258301135836249673.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2529306320483998819.tmp (1017 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323221876_common-unicode-ascii-escaped-space%20x%20x; FilePart:object = /tmp/mmp.output.2284518638979971136.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6741539827441296156.tmp (1027 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323222406_common-unicode-ascii-escape-anyway-%2B; FilePart:object = /tmp/mmp.output.2785247927126383530.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8741279042652981272.tmp (1023 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323222902_common-unicode-ascii-escape-space-v-plus-%2B%20%2B%2520%20%2520%2B; FilePart:object = /tmp/mmp.output.1186607738408798856.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.555704496000721377.tmp (1051 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323223313_path-unicode-ascii-safe-&=&=; FilePart:object = /tmp/mmp.output.6221574422356262568.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3567084516583040216.tmp (1021 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323223690_path-unicode-ascii-escaped-%3B; FilePart:object = /tmp/mmp.output.4126818305571760645.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4124511403836007311.tmp (1015 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232322463_path-unicode-ascii-escaped-%3F; FilePart:object = /tmp/mmp.output.8681994825042602866.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8990542148482203631.tmp (1014 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323224430_path-unicode-ascii-escaped-%2F; FilePart:object = /tmp/mmp.output.2612903623883656003.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7233597973277744025.tmp (1015 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323224700_path-unicode-ascii-escaped-%253F; FilePart:object = /tmp/mmp.output.3818806495477573472.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5394975260681476729.tmp (1017 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323224982_path-unicode-ascii-escaped-%252F; FilePart:object = /tmp/mmp.output.4975617296455837201.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8162187363357196448.tmp (1017 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323225253_path-unicode-ascii-escaped-double-%2F%2Fcase; FilePart:object = /tmp/mmp.output.2922224679924241284.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8121243611284385383.tmp (1029 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323225532_path-unicode-ascii-escaped-double-trailing%2F%2F; FilePart:object = /tmp/mmp.output.7005355388560195297.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.422206435046106669.tmp (1033 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323225799_path-unicode-ascii-escaped-double-%252F%252Fcase; FilePart:object = /tmp/mmp.output.8363986342208361263.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2103707604107403425.tmp (1033 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232322667_path-unicode-ascii-escaped-double-trailing%252F%252F; FilePart:object = /tmp/mmp.output.7238843385201276279.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3891981261031350272.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323226257_common-unicode-bmp-1byte-escaped-%C2%A1%C2%A2%C2%A3; FilePart:object = /tmp/mmp.output.1959171113763070932.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6041698198536833263.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323226447_common-unicode-bmp-2byte-escaped-%E4%A6%B9%E4%A6%BA; FilePart:object = /tmp/mmp.output.2132617197366597281.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6728675115656020174.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323226636_common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815; FilePart:object = /tmp/mmp.output.8786085766822210515.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.271985006872723513.tmp (1042 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323226824_path-ascii-doc-example-10.1000%2F182; FilePart:object = /tmp/mmp.output.1306497306584826772.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8379030762637300855.tmp (1021 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232322713_path-ascii-doc-example-http:%2F%2Fexample.com%2Fdata%2Fmydata%3Frow=24; FilePart:object = /tmp/mmp.output.313528810763891986.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8731929724590652057.tmp (1054 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323227202_path-ascii-doc-example-ldap:%2F%2Fldap1.example.net:6666%2Fo=University%2520of%2520Michigan,%20c=US%3F%3Fsub%3F(cn=Babs%2520Jensen); FilePart:object = /tmp/mmp.output.3580319198726494289.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5135304204972019783.tmp (1116 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323227390_common-bmp-doc-example-%E0%B8%89%E0%B8%B1%E0%B8%99%E0%B8%81%E0%B8%B4%E0%B8%99%E0%B8%81%E0%B8%A3%E0%B8%B0%E0%B8%88%E0%B8%81%E0%B9%84%E0%B8%94%E0%B9%89; FilePart:object = /tmp/mmp.output.1696170795287070060.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3246631070231495733.tmp (1134 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323227579_common-bmp-doc-example-Is_f%C3%A9idir_liom_ithe_gloine; FilePart:object = /tmp/mmp.output.2866277109040994560.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4113737930921729858.tmp (1039 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323227768_common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ; FilePart:object = /tmp/mmp.output.2762197141734465093.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1697762362850940218.tmp (1037 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323228207_common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz; FilePart:object = /tmp/mmp.output.3853981102545854311.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6384413941130444285.tmp (1037 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323228476_common-unicode-ascii-safe-0123456789; FilePart:object = /tmp/mmp.output.7554524156265410207.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4791961869849942877.tmp (1021 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323228746_common-unicode-ascii-safe-:@$-_.!*()',~; FilePart:object = /tmp/mmp.output.7424920543040544445.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.85193383495726860.tmp (1024 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232322916_common-unicode-ascii-safe-unreserved-._~; FilePart:object = /tmp/mmp.output.107715352886455512.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.9009930089226382896.tmp (1024 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323229283_common-unicode-ascii-safe-sub-delims-$!*()',; FilePart:object = /tmp/mmp.output.8325290714357412195.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6486402408521192193.tmp (1029 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323229578_common-unicode-ascii-safe-gen-delims-:@; FilePart:object = /tmp/mmp.output.5774284513343386581.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2573527473829613307.tmp (1024 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323229848_common-unicode-ascii-escaped-%22%23%3C%3E%5B%5D%5E%60%7B%7D%7C; FilePart:object = /tmp/mmp.output.6338386157674966373.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6726834232168659504.tmp (1047 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323230140_common-unicode-ascii-escaped-tomcatBlocked-%5C; FilePart:object = /tmp/mmp.output.6828032394292236606.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.197723969057697206.tmp (1031 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323230417_common-unicode-ascii-escaped-tomcatBlocked-%255C; FilePart:object = /tmp/mmp.output.2072880198579301618.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2867780988172168077.tmp (1033 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323230687_common-unicode-ascii-semi-colon-test-%253B; FilePart:object = /tmp/mmp.output.7920957941085853008.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4098653083444514346.tmp (1027 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323230957_common-unicode-ascii-escaped-%25; FilePart:object = /tmp/mmp.output.8612495211543129369.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8249586860583990073.tmp (1017 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323231227_common-unicode-ascii-escaped-space%20x%20x; FilePart:object = /tmp/mmp.output.6048426500066597133.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.348945098727871466.tmp (1027 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323231495_common-unicode-ascii-escape-anyway-%2B; FilePart:object = /tmp/mmp.output.6206759095385426990.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2785621099990533184.tmp (1023 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323231766_common-unicode-ascii-escape-space-v-plus-%2B%20%2B%2520%20%2520%2B; FilePart:object = /tmp/mmp.output.5022773122384771246.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4913763787150534941.tmp (1051 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232323237_path-unicode-ascii-safe-&=&=; FilePart:object = /tmp/mmp.output.7551648414646824033.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3396890814134183640.tmp (1020 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323232323_path-unicode-ascii-escaped-%3B; FilePart:object = /tmp/mmp.output.7191747463471497751.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6059017479880495247.tmp (1015 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323232592_path-unicode-ascii-escaped-%3F; FilePart:object = /tmp/mmp.output.516246022352343764.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.890477710297844518.tmp (1015 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323232861_path-unicode-ascii-escaped-%2F; FilePart:object = /tmp/mmp.output.4822239099900143428.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1380953669774159834.tmp (1015 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323233125_path-unicode-ascii-escaped-%253F; FilePart:object = /tmp/mmp.output.7628675760428555995.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1636734869574876559.tmp (1017 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323233392_path-unicode-ascii-escaped-%252F; FilePart:object = /tmp/mmp.output.9117310766827057243.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2390756126946186591.tmp (1017 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323233660_path-unicode-ascii-escaped-double-%2F%2Fcase; FilePart:object = /tmp/mmp.output.7186368537669862070.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7913116223300108045.tmp (1029 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323233929_path-unicode-ascii-escaped-double-trailing%2F%2F; FilePart:object = /tmp/mmp.output.5968744534879165983.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2507418897159607751.tmp (1033 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323234218_path-unicode-ascii-escaped-double-%252F%252Fcase; FilePart:object = /tmp/mmp.output.8989488426796221617.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4305066075520251443.tmp (1033 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323234485_path-unicode-ascii-escaped-double-trailing%252F%252F; FilePart:object = /tmp/mmp.output.4902935365244086960.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.405229137669968955.tmp (1037 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323234754_common-unicode-bmp-1byte-escaped-%C2%A1%C2%A2%C2%A3; FilePart:object = /tmp/mmp.output.8060200643371527530.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8268063725696378808.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232323524_common-unicode-bmp-2byte-escaped-%E4%A6%B9%E4%A6%BA; FilePart:object = /tmp/mmp.output.5214136605793279416.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4730053585438381623.tmp (1035 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323235300_common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815; FilePart:object = /tmp/mmp.output.5260294708438495968.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5546915261008831643.tmp (1042 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323235569_path-ascii-doc-example-10.1000%2F182; FilePart:object = /tmp/mmp.output.6695423125365545272.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.340472715822043982.tmp (1021 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323235844_path-ascii-doc-example-http:%2F%2Fexample.com%2Fdata%2Fmydata%3Frow=24; FilePart:object = /tmp/mmp.output.8191731306890804104.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2870105607774672582.tmp (1055 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323236115_path-ascii-doc-example-ldap:%2F%2Fldap1.example.net:6666%2Fo=University%2520of%2520Michigan,%20c=US%3F%3Fsub%3F(cn=Babs%2520Jensen); FilePart:object = /tmp/mmp.output.8550295370527228908.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.609583283743338636.tmp (1116 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323236384_common-bmp-doc-example-%E0%B8%89%E0%B8%B1%E0%B8%99%E0%B8%81%E0%B8%B4%E0%B8%99%E0%B8%81%E0%B8%A3%E0%B8%B0%E0%B8%88%E0%B8%81%E0%B9%84%E0%B8%94%E0%B9%89; FilePart:object = /tmp/mmp.output.3055624525315840493.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5697648090618500970.tmp (1134 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323236652_common-bmp-doc-example-Is_f%C3%A9idir_liom_ithe_gloine; FilePart:object = /tmp/mmp.output.3512730035830826612.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3171363171120513721.tmp (1039 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323236926_common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ; FilePart:object = /tmp/mmp.output.6731797764016443290.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3013693839401996382.tmp (1037 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232324062_common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz; FilePart:object = /tmp/mmp.output.2643347476729697932.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5105392719312578796.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232324170_common-unicode-ascii-safe-0123456789; FilePart:object = /tmp/mmp.output.7352813660733630898.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5895308193425331510.tmp (1020 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323242148_common-unicode-ascii-safe-:@$-_.!*()',~; FilePart:object = /tmp/mmp.output.1789973232984069834.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.107605119255868974.tmp (1024 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323243422_common-unicode-ascii-safe-unreserved-._~; FilePart:object = /tmp/mmp.output.7292977975470518408.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.661990977160683040.tmp (1025 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323244642_common-unicode-ascii-safe-sub-delims-$!*()',; FilePart:object = /tmp/mmp.output.6998445387710061230.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5047122601619923942.tmp (1029 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323245848_common-unicode-ascii-safe-gen-delims-:@; FilePart:object = /tmp/mmp.output.1618263874489621196.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2020257125146352441.tmp (1024 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323247120_common-unicode-ascii-escaped-%22%23%3C%3E%5B%5D%5E%60%7B%7D%7C; FilePart:object = /tmp/mmp.output.6475421318236186285.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2362407150560863698.tmp (1047 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323248435_common-unicode-ascii-escaped-tomcatBlocked-%5C; FilePart:object = /tmp/mmp.output.5287996167953999635.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7270301265873092448.tmp (1031 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323249704_common-unicode-ascii-escaped-tomcatBlocked-%255C; FilePart:object = /tmp/mmp.output.4528806081797423858.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2958901195245606436.tmp (1033 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323250980_common-unicode-ascii-semi-colon-test-%253B; FilePart:object = /tmp/mmp.output.8769447685178707247.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.686529686141868980.tmp (1027 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323252318_common-unicode-ascii-escaped-%25; FilePart:object = /tmp/mmp.output.8467481552789194020.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2714399331995344391.tmp (1017 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323253620_common-unicode-ascii-escaped-space%20x%20x; FilePart:object = /tmp/mmp.output.6676256839915563183.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6229094285456769502.tmp (1027 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323254901_common-unicode-ascii-escape-anyway-%2B; FilePart:object = /tmp/mmp.output.4860679158847870997.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.567550731896873461.tmp (1023 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323256164_common-unicode-ascii-escape-space-v-plus-%2B%20%2B%2520%20%2520%2B; FilePart:object = /tmp/mmp.output.1975134851723598626.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.225287344499863568.tmp (1051 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323257434_path-unicode-ascii-safe-&=&=; FilePart:object = /tmp/mmp.output.5066303003385405053.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1075560065329432374.tmp (1021 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323258655_path-unicode-ascii-escaped-%3B; FilePart:object = /tmp/mmp.output.3960751927351820168.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.178958151058452035.tmp (1015 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323259911_path-unicode-ascii-escaped-%3F; FilePart:object = /tmp/mmp.output.2828393671663347004.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7660758670365575630.tmp (1015 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232331204_path-unicode-ascii-escaped-%2F; FilePart:object = /tmp/mmp.output.6005766877702488857.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5571516594131990116.tmp (1014 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232332413_path-unicode-ascii-escaped-%253F; FilePart:object = /tmp/mmp.output.7404190921645972051.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.618480935001318076.tmp (1016 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232333646_path-unicode-ascii-escaped-%252F; FilePart:object = /tmp/mmp.output.1816831248030444716.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8785556541169376536.tmp (1016 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232335487_path-unicode-ascii-escaped-double-%2F%2Fcase; FilePart:object = /tmp/mmp.output.5418790100789796650.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.965029915955024407.tmp (1028 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:2017123233797_path-unicode-ascii-escaped-double-trailing%2F%2F; FilePart:object = /tmp/mmp.output.4563234008034274368.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4862506194229453869.tmp (1031 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232338764_path-unicode-ascii-escaped-double-%252F%252Fcase; FilePart:object = /tmp/mmp.output.5961062056782111644.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5063148626728061990.tmp (1032 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323310345_path-unicode-ascii-escaped-double-trailing%252F%252F; FilePart:object = /tmp/mmp.output.5776999573435516318.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4511282903160349350.tmp (1037 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323311919_common-unicode-bmp-1byte-escaped-%C2%A1%C2%A2%C2%A3; FilePart:object = /tmp/mmp.output.1458256871799777893.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8630966506503073238.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323313581_common-unicode-bmp-2byte-escaped-%E4%A6%B9%E4%A6%BA; FilePart:object = /tmp/mmp.output.920349474794972806.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.506030943331480420.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323315265_common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815; FilePart:object = /tmp/mmp.output.1782213313807552534.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3671643754003124991.tmp (1042 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323316909_path-ascii-doc-example-10.1000%2F182; FilePart:object = /tmp/mmp.output.6982344410607689281.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.9067113889706256580.tmp (1021 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323318508_path-ascii-doc-example-http:%2F%2Fexample.com%2Fdata%2Fmydata%3Frow=24; FilePart:object = /tmp/mmp.output.2795239512124800564.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8563374171688551986.tmp (1055 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323320160_path-ascii-doc-example-ldap:%2F%2Fldap1.example.net:6666%2Fo=University%2520of%2520Michigan,%20c=US%3F%3Fsub%3F(cn=Babs%2520Jensen); FilePart:object = /tmp/mmp.output.8729521510330128108.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3609649961833059377.tmp (1116 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323321810_common-bmp-doc-example-%E0%B8%89%E0%B8%B1%E0%B8%99%E0%B8%81%E0%B8%B4%E0%B8%99%E0%B8%81%E0%B8%A3%E0%B8%B0%E0%B8%88%E0%B8%81%E0%B9%84%E0%B8%94%E0%B9%89; FilePart:object = /tmp/mmp.output.736833792581159867.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2164910172953235026.tmp (1134 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323323426_common-bmp-doc-example-Is_f%C3%A9idir_liom_ithe_gloine; FilePart:object = /tmp/mmp.output.5354639065114363879.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5419672973264657218.tmp (1039 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232332539_common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ; FilePart:object = /tmp/mmp.output.5258553490774305466.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8004481824167339103.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232332688_common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz; FilePart:object = /tmp/mmp.output.2405791493249349325.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.768329667409714355.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323326855_common-unicode-ascii-safe-0123456789; FilePart:object = /tmp/mmp.output.1893920614776547792.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5196436393026002673.tmp (1021 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323327609_common-unicode-ascii-safe-:@$-_.!*()',~; FilePart:object = /tmp/mmp.output.1821896013152900272.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2249864141281808722.tmp (1024 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323328371_common-unicode-ascii-safe-unreserved-._~; FilePart:object = /tmp/mmp.output.9074079035615718080.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8683652691299240487.tmp (1025 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323329112_common-unicode-ascii-safe-sub-delims-$!*()',; FilePart:object = /tmp/mmp.output.8442441966548267403.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1039513521715940713.tmp (1029 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323329871_common-unicode-ascii-safe-gen-delims-:@; FilePart:object = /tmp/mmp.output.1497769100000293743.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2616066365540363162.tmp (1024 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323330590_common-unicode-ascii-escaped-%22%23%3C%3E%5B%5D%5E%60%7B%7D%7C; FilePart:object = /tmp/mmp.output.4378386220499658663.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4730508626630530607.tmp (1047 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323331308_common-unicode-ascii-escaped-tomcatBlocked-%5C; FilePart:object = /tmp/mmp.output.8627251494244289645.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4842301896294739477.tmp (1031 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232333269_common-unicode-ascii-escaped-tomcatBlocked-%255C; FilePart:object = /tmp/mmp.output.7490592659121175938.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4225420383686310748.tmp (1032 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323332823_common-unicode-ascii-semi-colon-test-%253B; FilePart:object = /tmp/mmp.output.6515961119509167935.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8149052865456571963.tmp (1027 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323333495_common-unicode-ascii-escaped-%25; FilePart:object = /tmp/mmp.output.3872636662685466123.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.9025942167424029409.tmp (1017 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323334254_common-unicode-ascii-escaped-space%20x%20x; FilePart:object = /tmp/mmp.output.9197905802523680155.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7743190761945346972.tmp (1027 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323334979_common-unicode-ascii-escape-anyway-%2B; FilePart:object = /tmp/mmp.output.1234697664570965543.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2908401794711767863.tmp (1023 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323335742_common-unicode-ascii-escape-space-v-plus-%2B%20%2B%2520%20%2520%2B; FilePart:object = /tmp/mmp.output.7314708759445569413.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.9162484369024602284.tmp (1051 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323336500_path-unicode-ascii-safe-&=&=; FilePart:object = /tmp/mmp.output.1465282697082132525.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6445065444063769652.tmp (1021 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323337213_path-unicode-ascii-escaped-%3B; FilePart:object = /tmp/mmp.output.7502211263608577387.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3982090898061682812.tmp (1015 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323337930_path-unicode-ascii-escaped-%3F; FilePart:object = /tmp/mmp.output.7818751859627904332.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7908770959302522356.tmp (1015 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323338655_path-unicode-ascii-escaped-%2F; FilePart:object = /tmp/mmp.output.7501552951634476256.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6998036893563868600.tmp (1015 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323339417_path-unicode-ascii-escaped-%253F; FilePart:object = /tmp/mmp.output.4596733691472279754.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5326876056428238635.tmp (1017 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323340141_path-unicode-ascii-escaped-%252F; FilePart:object = /tmp/mmp.output.4976395701424726734.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.803945849404982416.tmp (1017 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323340860_path-unicode-ascii-escaped-double-%2F%2Fcase; FilePart:object = /tmp/mmp.output.206260778088775264.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3462226988720330007.tmp (1029 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323341616_path-unicode-ascii-escaped-double-trailing%2F%2F; FilePart:object = /tmp/mmp.output.5045376228185509967.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3131652782601028816.tmp (1033 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323342330_path-unicode-ascii-escaped-double-%252F%252Fcase; FilePart:object = /tmp/mmp.output.2878280376953488973.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8659349956760915691.tmp (1033 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232334389_path-unicode-ascii-escaped-double-trailing%252F%252F; FilePart:object = /tmp/mmp.output.6615040661699262717.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6074363959855676363.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323343781_common-unicode-bmp-1byte-escaped-%C2%A1%C2%A2%C2%A3; FilePart:object = /tmp/mmp.output.6120189339362919706.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4041331716086622197.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323344546_common-unicode-bmp-2byte-escaped-%E4%A6%B9%E4%A6%BA; FilePart:object = /tmp/mmp.output.3174728825131963018.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6572798520891499744.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323345310_common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815; FilePart:object = /tmp/mmp.output.7221537663637103911.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7677521708415417641.tmp (1042 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232334671_path-ascii-doc-example-10.1000%2F182; FilePart:object = /tmp/mmp.output.5776922679970824665.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1372331845998730566.tmp (1020 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323346789_path-ascii-doc-example-http:%2F%2Fexample.com%2Fdata%2Fmydata%3Frow=24; FilePart:object = /tmp/mmp.output.7126948197451746780.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8297068757335713187.tmp (1055 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323347513_path-ascii-doc-example-ldap:%2F%2Fldap1.example.net:6666%2Fo=University%2520of%2520Michigan,%20c=US%3F%3Fsub%3F(cn=Babs%2520Jensen); FilePart:object = /tmp/mmp.output.503304416964797324.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5773227021370247625.tmp (1116 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323348268_common-bmp-doc-example-%E0%B8%89%E0%B8%B1%E0%B8%99%E0%B8%81%E0%B8%B4%E0%B8%99%E0%B8%81%E0%B8%A3%E0%B8%B0%E0%B8%88%E0%B8%81%E0%B9%84%E0%B8%94%E0%B9%89; FilePart:object = /tmp/mmp.output.257670463915333542.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8310850509032496483.tmp (1134 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323348983_common-bmp-doc-example-Is_f%C3%A9idir_liom_ithe_gloine; FilePart:object = /tmp/mmp.output.4973294185782627390.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7660710026758109250.tmp (1039 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:50 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358563979488">
<ol start="32" class="pre-context" id="pre140358563979488">
<li onclick="toggle('pre140358563979488', 'post140358563979488')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358563979488', 'post140358563979488')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358563979488', 'post140358563979488')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358563979488', 'post140358563979488')"><pre> """</pre></li>
<li onclick="toggle('pre140358563979488', 'post140358563979488')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358563979488', 'post140358563979488')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358563979488', 'post140358563979488')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358563979488', 'post140358563979488')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358563979488">
<li onclick="toggle('pre140358563979488', 'post140358563979488')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358563979488', 'post140358563979488')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358563979488', 'post140358563979488')"><pre> return response</pre></li>
<li onclick="toggle('pre140358563979488', 'post140358563979488')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358563979488', 'post140358563979488')"><pre></pre></li>
<li onclick="toggle('pre140358563979488', 'post140358563979488')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563979488')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563979488">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562350792">
<ol start="242" class="pre-context" id="pre140358562350792">
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> break</pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre></pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562350792">
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562350792')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562350792">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358562349280">
<ol start="171" class="pre-context" id="pre140358562349280">
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre></pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre></pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358562349280">
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> break</pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre></pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562349280')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562349280">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358564339080">
<ol start="44" class="pre-context" id="pre140358564339080">
<li onclick="toggle('pre140358564339080', 'post140358564339080')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358564339080', 'post140358564339080')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358564339080', 'post140358564339080')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358564339080', 'post140358564339080')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358564339080', 'post140358564339080')"><pre> )</pre></li>
<li onclick="toggle('pre140358564339080', 'post140358564339080')"><pre> )</pre></li>
<li onclick="toggle('pre140358564339080', 'post140358564339080')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358564339080', 'post140358564339080')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358564339080">
<li onclick="toggle('pre140358564339080', 'post140358564339080')"><pre></pre></li>
<li onclick="toggle('pre140358564339080', 'post140358564339080')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358564339080', 'post140358564339080')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358564339080', 'post140358564339080')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358564339080', 'post140358564339080')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358564339080', 'post140358564339080')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564339080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564339080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358564338432">
<ol start="66" class="pre-context" id="pre140358564338432">
<li onclick="toggle('pre140358564338432', 'post140358564338432')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358564338432', 'post140358564338432')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358564338432', 'post140358564338432')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358564338432', 'post140358564338432')"><pre></pre></li>
<li onclick="toggle('pre140358564338432', 'post140358564338432')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358564338432', 'post140358564338432')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358564338432', 'post140358564338432')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358564338432', 'post140358564338432')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358564338432">
<li onclick="toggle('pre140358564338432', 'post140358564338432')"><pre> )</pre></li>
<li onclick="toggle('pre140358564338432', 'post140358564338432')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358564338432', 'post140358564338432')"><pre> request</pre></li>
<li onclick="toggle('pre140358564338432', 'post140358564338432')"><pre> )</pre></li>
<li onclick="toggle('pre140358564338432', 'post140358564338432')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358564338432', 'post140358564338432')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564338432')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564338432">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358563981720">
<ol start="62" class="pre-context" id="pre140358563981720">
<li onclick="toggle('pre140358563981720', 'post140358563981720')"><pre> """</pre></li>
<li onclick="toggle('pre140358563981720', 'post140358563981720')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358563981720', 'post140358563981720')"><pre> try:</pre></li>
<li onclick="toggle('pre140358563981720', 'post140358563981720')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358563981720', 'post140358563981720')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358563981720', 'post140358563981720')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358563981720', 'post140358563981720')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358563981720', 'post140358563981720')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358563981720">
<li onclick="toggle('pre140358563981720', 'post140358563981720')"><pre> )</pre></li>
<li onclick="toggle('pre140358563981720', 'post140358563981720')"><pre> else:</pre></li>
<li onclick="toggle('pre140358563981720', 'post140358563981720')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358563981720', 'post140358563981720')"><pre></pre></li>
<li onclick="toggle('pre140358563981720', 'post140358563981720')"><pre></pre></li>
<li onclick="toggle('pre140358563981720', 'post140358563981720')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563981720')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563981720">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323349707_common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5784809139292675281.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7768414388848648254.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686091'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=4IcnTV_taQ1RI_Fc1ZxA7pxVlfWYJhYfh9QxH'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58586'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877829951215'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877829951012'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877829950710'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877829951251'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c73d8f18></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c7925bb0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323349707_common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ; FilePart:object = /tmp/mmp.output.7768414388848648254.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5784809139292675281.tmp (1037 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:50 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358531801168">
<ol start="32" class="pre-context" id="pre140358531801168">
<li onclick="toggle('pre140358531801168', 'post140358531801168')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358531801168', 'post140358531801168')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358531801168', 'post140358531801168')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358531801168', 'post140358531801168')"><pre> """</pre></li>
<li onclick="toggle('pre140358531801168', 'post140358531801168')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358531801168', 'post140358531801168')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358531801168', 'post140358531801168')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358531801168', 'post140358531801168')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358531801168">
<li onclick="toggle('pre140358531801168', 'post140358531801168')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358531801168', 'post140358531801168')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358531801168', 'post140358531801168')"><pre> return response</pre></li>
<li onclick="toggle('pre140358531801168', 'post140358531801168')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358531801168', 'post140358531801168')"><pre></pre></li>
<li onclick="toggle('pre140358531801168', 'post140358531801168')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531801168')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531801168">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358531801312">
<ol start="242" class="pre-context" id="pre140358531801312">
<li onclick="toggle('pre140358531801312', 'post140358531801312')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358531801312', 'post140358531801312')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358531801312', 'post140358531801312')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358531801312', 'post140358531801312')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358531801312', 'post140358531801312')"><pre> break</pre></li>
<li onclick="toggle('pre140358531801312', 'post140358531801312')"><pre></pre></li>
<li onclick="toggle('pre140358531801312', 'post140358531801312')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358531801312', 'post140358531801312')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358531801312">
<li onclick="toggle('pre140358531801312', 'post140358531801312')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531801312')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531801312">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358531804120">
<ol start="171" class="pre-context" id="pre140358531804120">
<li onclick="toggle('pre140358531804120', 'post140358531804120')"><pre></pre></li>
<li onclick="toggle('pre140358531804120', 'post140358531804120')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358531804120', 'post140358531804120')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358531804120', 'post140358531804120')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358531804120', 'post140358531804120')"><pre></pre></li>
<li onclick="toggle('pre140358531804120', 'post140358531804120')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358531804120', 'post140358531804120')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358531804120', 'post140358531804120')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358531804120">
<li onclick="toggle('pre140358531804120', 'post140358531804120')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358531804120', 'post140358531804120')"><pre> break</pre></li>
<li onclick="toggle('pre140358531804120', 'post140358531804120')"><pre></pre></li>
<li onclick="toggle('pre140358531804120', 'post140358531804120')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358531804120', 'post140358531804120')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358531804120', 'post140358531804120')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531804120')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531804120">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358531803544">
<ol start="44" class="pre-context" id="pre140358531803544">
<li onclick="toggle('pre140358531803544', 'post140358531803544')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358531803544', 'post140358531803544')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358531803544', 'post140358531803544')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358531803544', 'post140358531803544')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358531803544', 'post140358531803544')"><pre> )</pre></li>
<li onclick="toggle('pre140358531803544', 'post140358531803544')"><pre> )</pre></li>
<li onclick="toggle('pre140358531803544', 'post140358531803544')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358531803544', 'post140358531803544')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358531803544">
<li onclick="toggle('pre140358531803544', 'post140358531803544')"><pre></pre></li>
<li onclick="toggle('pre140358531803544', 'post140358531803544')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358531803544', 'post140358531803544')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358531803544', 'post140358531803544')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358531803544', 'post140358531803544')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358531803544', 'post140358531803544')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531803544')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531803544">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358531805128">
<ol start="66" class="pre-context" id="pre140358531805128">
<li onclick="toggle('pre140358531805128', 'post140358531805128')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358531805128', 'post140358531805128')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358531805128', 'post140358531805128')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358531805128', 'post140358531805128')"><pre></pre></li>
<li onclick="toggle('pre140358531805128', 'post140358531805128')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358531805128', 'post140358531805128')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358531805128', 'post140358531805128')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358531805128', 'post140358531805128')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358531805128">
<li onclick="toggle('pre140358531805128', 'post140358531805128')"><pre> )</pre></li>
<li onclick="toggle('pre140358531805128', 'post140358531805128')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358531805128', 'post140358531805128')"><pre> request</pre></li>
<li onclick="toggle('pre140358531805128', 'post140358531805128')"><pre> )</pre></li>
<li onclick="toggle('pre140358531805128', 'post140358531805128')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358531805128', 'post140358531805128')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531805128')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531805128">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358531802104">
<ol start="62" class="pre-context" id="pre140358531802104">
<li onclick="toggle('pre140358531802104', 'post140358531802104')"><pre> """</pre></li>
<li onclick="toggle('pre140358531802104', 'post140358531802104')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358531802104', 'post140358531802104')"><pre> try:</pre></li>
<li onclick="toggle('pre140358531802104', 'post140358531802104')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358531802104', 'post140358531802104')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358531802104', 'post140358531802104')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358531802104', 'post140358531802104')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358531802104', 'post140358531802104')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358531802104">
<li onclick="toggle('pre140358531802104', 'post140358531802104')"><pre> )</pre></li>
<li onclick="toggle('pre140358531802104', 'post140358531802104')"><pre> else:</pre></li>
<li onclick="toggle('pre140358531802104', 'post140358531802104')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358531802104', 'post140358531802104')"><pre></pre></li>
<li onclick="toggle('pre140358531802104', 'post140358531802104')"><pre></pre></li>
<li onclick="toggle('pre140358531802104', 'post140358531802104')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531802104')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531802104">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323350189_common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6141822336110490759.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5550780015027403228.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686075'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=p232JCCxdthba09yywnPXMRiYOif_vJFP'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58588'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877830230760'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877830230583'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877830230323'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877830230808'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c46deb28></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7d5d0e930></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323350189_common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz; FilePart:object = /tmp/mmp.output.5550780015027403228.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6141822336110490759.tmp (1037 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:50 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358564882768">
<ol start="32" class="pre-context" id="pre140358564882768">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> """</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358564882768">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> return response</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre></pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564882768')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564882768">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562349280">
<ol start="242" class="pre-context" id="pre140358562349280">
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> break</pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre></pre></li>
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562349280">
<li onclick="toggle('pre140358562349280', 'post140358562349280')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562349280')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562349280">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358562350792">
<ol start="171" class="pre-context" id="pre140358562350792">
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre></pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre></pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358562350792">
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> break</pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre></pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358562350792', 'post140358562350792')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562350792')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562350792">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562351080">
<ol start="44" class="pre-context" id="pre140358562351080">
<li onclick="toggle('pre140358562351080', 'post140358562351080')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562351080', 'post140358562351080')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562351080', 'post140358562351080')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562351080', 'post140358562351080')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562351080', 'post140358562351080')"><pre> )</pre></li>
<li onclick="toggle('pre140358562351080', 'post140358562351080')"><pre> )</pre></li>
<li onclick="toggle('pre140358562351080', 'post140358562351080')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562351080', 'post140358562351080')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562351080">
<li onclick="toggle('pre140358562351080', 'post140358562351080')"><pre></pre></li>
<li onclick="toggle('pre140358562351080', 'post140358562351080')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562351080', 'post140358562351080')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562351080', 'post140358562351080')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562351080', 'post140358562351080')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562351080', 'post140358562351080')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562351080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562351080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562352232">
<ol start="66" class="pre-context" id="pre140358562352232">
<li onclick="toggle('pre140358562352232', 'post140358562352232')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562352232', 'post140358562352232')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562352232', 'post140358562352232')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562352232', 'post140358562352232')"><pre></pre></li>
<li onclick="toggle('pre140358562352232', 'post140358562352232')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562352232', 'post140358562352232')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562352232', 'post140358562352232')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562352232', 'post140358562352232')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562352232">
<li onclick="toggle('pre140358562352232', 'post140358562352232')"><pre> )</pre></li>
<li onclick="toggle('pre140358562352232', 'post140358562352232')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562352232', 'post140358562352232')"><pre> request</pre></li>
<li onclick="toggle('pre140358562352232', 'post140358562352232')"><pre> )</pre></li>
<li onclick="toggle('pre140358562352232', 'post140358562352232')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562352232', 'post140358562352232')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562352232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562352232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358564882120">
<ol start="62" class="pre-context" id="pre140358564882120">
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> """</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> try:</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358564882120">
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> )</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> else:</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre></pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre></pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564882120')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564882120">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323350369_common-unicode-ascii-safe-0123456789'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.101552476900273285.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5783375591747199165.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686042'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=mgDayiurR8ki0-q25UIs0aJWyVn_jBxss'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58589'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877830410193'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877830410065'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877830409856'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877830410221'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c65e5ae0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c6500130></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323350369_common-unicode-ascii-safe-0123456789; FilePart:object = /tmp/mmp.output.5783375591747199165.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.101552476900273285.tmp (1021 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:50 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358534307568">
<ol start="32" class="pre-context" id="pre140358534307568">
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> """</pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358534307568">
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> return response</pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre></pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534307568')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534307568">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358534408600">
<ol start="242" class="pre-context" id="pre140358534408600">
<li onclick="toggle('pre140358534408600', 'post140358534408600')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358534408600', 'post140358534408600')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358534408600', 'post140358534408600')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358534408600', 'post140358534408600')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534408600', 'post140358534408600')"><pre> break</pre></li>
<li onclick="toggle('pre140358534408600', 'post140358534408600')"><pre></pre></li>
<li onclick="toggle('pre140358534408600', 'post140358534408600')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358534408600', 'post140358534408600')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358534408600">
<li onclick="toggle('pre140358534408600', 'post140358534408600')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534408600')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534408600">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358531821080">
<ol start="171" class="pre-context" id="pre140358531821080">
<li onclick="toggle('pre140358531821080', 'post140358531821080')"><pre></pre></li>
<li onclick="toggle('pre140358531821080', 'post140358531821080')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358531821080', 'post140358531821080')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358531821080', 'post140358531821080')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358531821080', 'post140358531821080')"><pre></pre></li>
<li onclick="toggle('pre140358531821080', 'post140358531821080')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358531821080', 'post140358531821080')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358531821080', 'post140358531821080')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358531821080">
<li onclick="toggle('pre140358531821080', 'post140358531821080')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358531821080', 'post140358531821080')"><pre> break</pre></li>
<li onclick="toggle('pre140358531821080', 'post140358531821080')"><pre></pre></li>
<li onclick="toggle('pre140358531821080', 'post140358531821080')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358531821080', 'post140358531821080')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358531821080', 'post140358531821080')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531821080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531821080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358531820936">
<ol start="44" class="pre-context" id="pre140358531820936">
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> )</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> )</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358531820936">
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre></pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531820936')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531820936">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358531817984">
<ol start="66" class="pre-context" id="pre140358531817984">
<li onclick="toggle('pre140358531817984', 'post140358531817984')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358531817984', 'post140358531817984')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358531817984', 'post140358531817984')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358531817984', 'post140358531817984')"><pre></pre></li>
<li onclick="toggle('pre140358531817984', 'post140358531817984')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358531817984', 'post140358531817984')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358531817984', 'post140358531817984')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358531817984', 'post140358531817984')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358531817984">
<li onclick="toggle('pre140358531817984', 'post140358531817984')"><pre> )</pre></li>
<li onclick="toggle('pre140358531817984', 'post140358531817984')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358531817984', 'post140358531817984')"><pre> request</pre></li>
<li onclick="toggle('pre140358531817984', 'post140358531817984')"><pre> )</pre></li>
<li onclick="toggle('pre140358531817984', 'post140358531817984')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358531817984', 'post140358531817984')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531817984')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531817984">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358534401848">
<ol start="62" class="pre-context" id="pre140358534401848">
<li onclick="toggle('pre140358534401848', 'post140358534401848')"><pre> """</pre></li>
<li onclick="toggle('pre140358534401848', 'post140358534401848')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358534401848', 'post140358534401848')"><pre> try:</pre></li>
<li onclick="toggle('pre140358534401848', 'post140358534401848')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358534401848', 'post140358534401848')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358534401848', 'post140358534401848')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358534401848', 'post140358534401848')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358534401848', 'post140358534401848')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358534401848">
<li onclick="toggle('pre140358534401848', 'post140358534401848')"><pre> )</pre></li>
<li onclick="toggle('pre140358534401848', 'post140358534401848')"><pre> else:</pre></li>
<li onclick="toggle('pre140358534401848', 'post140358534401848')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358534401848', 'post140358534401848')"><pre></pre></li>
<li onclick="toggle('pre140358534401848', 'post140358534401848')"><pre></pre></li>
<li onclick="toggle('pre140358534401848', 'post140358534401848')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534401848')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534401848">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u"testMNodeTier3:201712323350600_common-unicode-ascii-safe-:@$-_.!*()',~"</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8367978532880378933.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2836371025494920611.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686061'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=j3wYwq0rjN7zROgk6a8XwETuLHeEtcG_0vnq'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58590'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877830652596'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877830652464'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877830652253'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877830652627'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c494e9c0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c682deb0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323350600_common-unicode-ascii-safe-:@$-_.!*()',~; FilePart:object = /tmp/mmp.output.2836371025494920611.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8367978532880378933.tmp (1024 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:50 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358564870192">
<ol start="32" class="pre-context" id="pre140358564870192">
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> """</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358564870192">
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> return response</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre></pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564870192')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564870192">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358563838288">
<ol start="242" class="pre-context" id="pre140358563838288">
<li onclick="toggle('pre140358563838288', 'post140358563838288')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358563838288', 'post140358563838288')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358563838288', 'post140358563838288')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358563838288', 'post140358563838288')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563838288', 'post140358563838288')"><pre> break</pre></li>
<li onclick="toggle('pre140358563838288', 'post140358563838288')"><pre></pre></li>
<li onclick="toggle('pre140358563838288', 'post140358563838288')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358563838288', 'post140358563838288')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358563838288">
<li onclick="toggle('pre140358563838288', 'post140358563838288')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563838288')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563838288">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358563839296">
<ol start="171" class="pre-context" id="pre140358563839296">
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre></pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre></pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358563839296">
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> break</pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre></pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563839296')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563839296">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562281016">
<ol start="44" class="pre-context" id="pre140358562281016">
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> )</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> )</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562281016">
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre></pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562281016')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562281016">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562282096">
<ol start="66" class="pre-context" id="pre140358562282096">
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre></pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562282096">
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> )</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> request</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> )</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562282096')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562282096">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358564870480">
<ol start="62" class="pre-context" id="pre140358564870480">
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> """</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> try:</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358564870480">
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> )</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> else:</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre></pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre></pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564870480')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564870480">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323350827_common-unicode-ascii-safe-unreserved-._~'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.185147852247901966.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8764721936926417157.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686042'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=uK8BxRbhCIXnaQxgdEYItQRwaR8tt6f'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58591'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877830868408'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877830868278'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877830868054'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877830868437'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c666a6a8></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c67a53b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323350827_common-unicode-ascii-safe-unreserved-._~; FilePart:object = /tmp/mmp.output.8764721936926417157.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.185147852247901966.tmp (1025 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:51 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358534386608">
<ol start="32" class="pre-context" id="pre140358534386608">
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> """</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358534386608">
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> return response</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre></pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534386608')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534386608">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358534357216">
<ol start="242" class="pre-context" id="pre140358534357216">
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> break</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre></pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358534357216">
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534357216')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534357216">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358546351240">
<ol start="171" class="pre-context" id="pre140358546351240">
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre></pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre></pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358546351240">
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> break</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre></pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546351240')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546351240">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358546353328">
<ol start="44" class="pre-context" id="pre140358546353328">
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> )</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> )</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358546353328">
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre></pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546353328')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546353328">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358546351024">
<ol start="66" class="pre-context" id="pre140358546351024">
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre></pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358546351024">
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> )</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> request</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> )</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546351024')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546351024">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358531821224">
<ol start="62" class="pre-context" id="pre140358531821224">
<li onclick="toggle('pre140358531821224', 'post140358531821224')"><pre> """</pre></li>
<li onclick="toggle('pre140358531821224', 'post140358531821224')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358531821224', 'post140358531821224')"><pre> try:</pre></li>
<li onclick="toggle('pre140358531821224', 'post140358531821224')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358531821224', 'post140358531821224')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358531821224', 'post140358531821224')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358531821224', 'post140358531821224')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358531821224', 'post140358531821224')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358531821224">
<li onclick="toggle('pre140358531821224', 'post140358531821224')"><pre> )</pre></li>
<li onclick="toggle('pre140358531821224', 'post140358531821224')"><pre> else:</pre></li>
<li onclick="toggle('pre140358531821224', 'post140358531821224')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358531821224', 'post140358531821224')"><pre></pre></li>
<li onclick="toggle('pre140358531821224', 'post140358531821224')"><pre></pre></li>
<li onclick="toggle('pre140358531821224', 'post140358531821224')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531821224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531821224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u"testMNodeTier3:2017123233512_common-unicode-ascii-safe-sub-delims-$!*()',"</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8579332812805943351.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6397875140060800905.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686067'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=ab6werU5_ZxI-JsR1twCn7_M_ygvSUM23Tj5'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58592'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877831043256'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877831043115'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877831042908'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877831043283'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c495a978></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c68c74b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:2017123233512_common-unicode-ascii-safe-sub-delims-$!*()',; FilePart:object = /tmp/mmp.output.6397875140060800905.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8579332812805943351.tmp (1027 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:51 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562412952">
<ol start="32" class="pre-context" id="pre140358562412952">
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> """</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562412952">
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre></pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562412952')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562412952">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358563600144">
<ol start="242" class="pre-context" id="pre140358563600144">
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> break</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre></pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358563600144">
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563600144')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563600144">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358563602016">
<ol start="171" class="pre-context" id="pre140358563602016">
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre></pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre></pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358563602016">
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> break</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre></pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563602016')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563602016">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358563602160">
<ol start="44" class="pre-context" id="pre140358563602160">
<li onclick="toggle('pre140358563602160', 'post140358563602160')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358563602160', 'post140358563602160')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358563602160', 'post140358563602160')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358563602160', 'post140358563602160')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358563602160', 'post140358563602160')"><pre> )</pre></li>
<li onclick="toggle('pre140358563602160', 'post140358563602160')"><pre> )</pre></li>
<li onclick="toggle('pre140358563602160', 'post140358563602160')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358563602160', 'post140358563602160')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358563602160">
<li onclick="toggle('pre140358563602160', 'post140358563602160')"><pre></pre></li>
<li onclick="toggle('pre140358563602160', 'post140358563602160')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358563602160', 'post140358563602160')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358563602160', 'post140358563602160')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358563602160', 'post140358563602160')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358563602160', 'post140358563602160')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563602160')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563602160">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358563602376">
<ol start="66" class="pre-context" id="pre140358563602376">
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre></pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358563602376">
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> )</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> request</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> )</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563602376')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563602376">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358564870480">
<ol start="62" class="pre-context" id="pre140358564870480">
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> """</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> try:</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358564870480">
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> )</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> else:</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre></pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre></pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564870480')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564870480">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323351247_common-unicode-ascii-safe-gen-delims-:@'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.283151811142664840.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4839193336384966540.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686056'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=1O99rLV2tKD2pX3agwAoHfzmmVtVvDRsVPl'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58593'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877831289418'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877831289290'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877831289081'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877831289447'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c656bd20></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c63ba4f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323351247_common-unicode-ascii-safe-gen-delims-:@; FilePart:object = /tmp/mmp.output.4839193336384966540.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.283151811142664840.tmp (1024 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:51 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358534358296">
<ol start="32" class="pre-context" id="pre140358534358296">
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> """</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358534358296">
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> return response</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre></pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534358296')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534358296">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358546351024">
<ol start="242" class="pre-context" id="pre140358546351024">
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> break</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre></pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358546351024">
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546351024')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546351024">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358546351168">
<ol start="171" class="pre-context" id="pre140358546351168">
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre></pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre></pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358546351168">
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> break</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre></pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546351168')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546351168">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358546353328">
<ol start="44" class="pre-context" id="pre140358546353328">
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> )</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> )</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358546353328">
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre></pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546353328')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546353328">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358531806488">
<ol start="66" class="pre-context" id="pre140358531806488">
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre></pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358531806488">
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> )</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> request</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> )</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531806488')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531806488">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358534359160">
<ol start="62" class="pre-context" id="pre140358534359160">
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> """</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> try:</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358534359160">
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> )</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> else:</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre></pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre></pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534359160')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534359160">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323351427_common-unicode-ascii-escaped-%22%23%3C%3E%5B%5D%5E%60%7B%7D%7C'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6341978441803132453.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7803872953285282668.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686115'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=LK6QRgUthp9sS4Lc-cNPbQunzf8e46Wx6PJyhK'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58595'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877831469056'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877831468854'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877831468644'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877831469081'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c46df8a0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c6486670></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323351427_common-unicode-ascii-escaped-%22%23%3C%3E%5B%5D%5E%60%7B%7D%7C; FilePart:object = /tmp/mmp.output.7803872953285282668.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6341978441803132453.tmp (1047 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:51 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562297112">
<ol start="32" class="pre-context" id="pre140358562297112">
<li onclick="toggle('pre140358562297112', 'post140358562297112')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562297112', 'post140358562297112')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562297112', 'post140358562297112')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562297112', 'post140358562297112')"><pre> """</pre></li>
<li onclick="toggle('pre140358562297112', 'post140358562297112')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562297112', 'post140358562297112')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562297112', 'post140358562297112')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562297112', 'post140358562297112')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562297112">
<li onclick="toggle('pre140358562297112', 'post140358562297112')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562297112', 'post140358562297112')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562297112', 'post140358562297112')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562297112', 'post140358562297112')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562297112', 'post140358562297112')"><pre></pre></li>
<li onclick="toggle('pre140358562297112', 'post140358562297112')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562297112')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562297112">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562296320">
<ol start="242" class="pre-context" id="pre140358562296320">
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> break</pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre></pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562296320">
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562296320')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562296320">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358562297904">
<ol start="171" class="pre-context" id="pre140358562297904">
<li onclick="toggle('pre140358562297904', 'post140358562297904')"><pre></pre></li>
<li onclick="toggle('pre140358562297904', 'post140358562297904')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358562297904', 'post140358562297904')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358562297904', 'post140358562297904')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358562297904', 'post140358562297904')"><pre></pre></li>
<li onclick="toggle('pre140358562297904', 'post140358562297904')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358562297904', 'post140358562297904')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358562297904', 'post140358562297904')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358562297904">
<li onclick="toggle('pre140358562297904', 'post140358562297904')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562297904', 'post140358562297904')"><pre> break</pre></li>
<li onclick="toggle('pre140358562297904', 'post140358562297904')"><pre></pre></li>
<li onclick="toggle('pre140358562297904', 'post140358562297904')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358562297904', 'post140358562297904')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358562297904', 'post140358562297904')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562297904')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562297904">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562298048">
<ol start="44" class="pre-context" id="pre140358562298048">
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> )</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> )</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562298048">
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre></pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562298048')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562298048">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562298696">
<ol start="66" class="pre-context" id="pre140358562298696">
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre></pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562298696">
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> )</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> request</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> )</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562298696')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562298696">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562299632">
<ol start="62" class="pre-context" id="pre140358562299632">
<li onclick="toggle('pre140358562299632', 'post140358562299632')"><pre> """</pre></li>
<li onclick="toggle('pre140358562299632', 'post140358562299632')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562299632', 'post140358562299632')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562299632', 'post140358562299632')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562299632', 'post140358562299632')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562299632', 'post140358562299632')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562299632', 'post140358562299632')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562299632', 'post140358562299632')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562299632">
<li onclick="toggle('pre140358562299632', 'post140358562299632')"><pre> )</pre></li>
<li onclick="toggle('pre140358562299632', 'post140358562299632')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562299632', 'post140358562299632')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562299632', 'post140358562299632')"><pre></pre></li>
<li onclick="toggle('pre140358562299632', 'post140358562299632')"><pre></pre></li>
<li onclick="toggle('pre140358562299632', 'post140358562299632')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562299632')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562299632">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323351631_common-unicode-ascii-escaped-tomcatBlocked-%5C'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.9085101447259923467.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.9152801007912762085.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686075'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=esLE5gm0ARa68IoypN4dEOZNno6_rafNt1v8'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58596'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877831677239'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877831677099'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877831676861'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877831677268'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c656b930></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c682d470></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323351631_common-unicode-ascii-escaped-tomcatBlocked-%5C; FilePart:object = /tmp/mmp.output.9152801007912762085.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.9085101447259923467.tmp (1031 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:51 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358531819712">
<ol start="32" class="pre-context" id="pre140358531819712">
<li onclick="toggle('pre140358531819712', 'post140358531819712')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358531819712', 'post140358531819712')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358531819712', 'post140358531819712')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358531819712', 'post140358531819712')"><pre> """</pre></li>
<li onclick="toggle('pre140358531819712', 'post140358531819712')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358531819712', 'post140358531819712')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358531819712', 'post140358531819712')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358531819712', 'post140358531819712')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358531819712">
<li onclick="toggle('pre140358531819712', 'post140358531819712')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358531819712', 'post140358531819712')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358531819712', 'post140358531819712')"><pre> return response</pre></li>
<li onclick="toggle('pre140358531819712', 'post140358531819712')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358531819712', 'post140358531819712')"><pre></pre></li>
<li onclick="toggle('pre140358531819712', 'post140358531819712')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531819712')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531819712">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358531817696">
<ol start="242" class="pre-context" id="pre140358531817696">
<li onclick="toggle('pre140358531817696', 'post140358531817696')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358531817696', 'post140358531817696')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358531817696', 'post140358531817696')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358531817696', 'post140358531817696')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358531817696', 'post140358531817696')"><pre> break</pre></li>
<li onclick="toggle('pre140358531817696', 'post140358531817696')"><pre></pre></li>
<li onclick="toggle('pre140358531817696', 'post140358531817696')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358531817696', 'post140358531817696')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358531817696">
<li onclick="toggle('pre140358531817696', 'post140358531817696')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531817696')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531817696">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358546259912">
<ol start="171" class="pre-context" id="pre140358546259912">
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre></pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre></pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358546259912">
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> break</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre></pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546259912')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546259912">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358546320056">
<ol start="44" class="pre-context" id="pre140358546320056">
<li onclick="toggle('pre140358546320056', 'post140358546320056')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358546320056', 'post140358546320056')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358546320056', 'post140358546320056')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358546320056', 'post140358546320056')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358546320056', 'post140358546320056')"><pre> )</pre></li>
<li onclick="toggle('pre140358546320056', 'post140358546320056')"><pre> )</pre></li>
<li onclick="toggle('pre140358546320056', 'post140358546320056')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358546320056', 'post140358546320056')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358546320056">
<li onclick="toggle('pre140358546320056', 'post140358546320056')"><pre></pre></li>
<li onclick="toggle('pre140358546320056', 'post140358546320056')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358546320056', 'post140358546320056')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358546320056', 'post140358546320056')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358546320056', 'post140358546320056')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358546320056', 'post140358546320056')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546320056')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546320056">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358546319984">
<ol start="66" class="pre-context" id="pre140358546319984">
<li onclick="toggle('pre140358546319984', 'post140358546319984')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358546319984', 'post140358546319984')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358546319984', 'post140358546319984')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358546319984', 'post140358546319984')"><pre></pre></li>
<li onclick="toggle('pre140358546319984', 'post140358546319984')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358546319984', 'post140358546319984')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358546319984', 'post140358546319984')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358546319984', 'post140358546319984')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358546319984">
<li onclick="toggle('pre140358546319984', 'post140358546319984')"><pre> )</pre></li>
<li onclick="toggle('pre140358546319984', 'post140358546319984')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358546319984', 'post140358546319984')"><pre> request</pre></li>
<li onclick="toggle('pre140358546319984', 'post140358546319984')"><pre> )</pre></li>
<li onclick="toggle('pre140358546319984', 'post140358546319984')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358546319984', 'post140358546319984')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546319984')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546319984">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358531818560">
<ol start="62" class="pre-context" id="pre140358531818560">
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> """</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> try:</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358531818560">
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> )</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> else:</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre></pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre></pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531818560')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531818560">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323351812_common-unicode-ascii-escaped-tomcatBlocked-%255C'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4357737096394462541.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.702287429948171872.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686070'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=6GRt777zFcoWaYiiYj4nmUQufbDxmERB9G'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58597'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877831860731'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877831860590'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877831860381'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877831860758'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c54be420></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c68bb570></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323351812_common-unicode-ascii-escaped-tomcatBlocked-%255C; FilePart:object = /tmp/mmp.output.702287429948171872.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4357737096394462541.tmp (1033 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:52 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358564335912">
<ol start="32" class="pre-context" id="pre140358564335912">
<li onclick="toggle('pre140358564335912', 'post140358564335912')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358564335912', 'post140358564335912')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358564335912', 'post140358564335912')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358564335912', 'post140358564335912')"><pre> """</pre></li>
<li onclick="toggle('pre140358564335912', 'post140358564335912')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358564335912', 'post140358564335912')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358564335912', 'post140358564335912')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358564335912', 'post140358564335912')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358564335912">
<li onclick="toggle('pre140358564335912', 'post140358564335912')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358564335912', 'post140358564335912')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358564335912', 'post140358564335912')"><pre> return response</pre></li>
<li onclick="toggle('pre140358564335912', 'post140358564335912')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358564335912', 'post140358564335912')"><pre></pre></li>
<li onclick="toggle('pre140358564335912', 'post140358564335912')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564335912')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564335912">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358564338288">
<ol start="242" class="pre-context" id="pre140358564338288">
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> break</pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre></pre></li>
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358564338288">
<li onclick="toggle('pre140358564338288', 'post140358564338288')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564338288')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564338288">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358564336560">
<ol start="171" class="pre-context" id="pre140358564336560">
<li onclick="toggle('pre140358564336560', 'post140358564336560')"><pre></pre></li>
<li onclick="toggle('pre140358564336560', 'post140358564336560')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358564336560', 'post140358564336560')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358564336560', 'post140358564336560')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358564336560', 'post140358564336560')"><pre></pre></li>
<li onclick="toggle('pre140358564336560', 'post140358564336560')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358564336560', 'post140358564336560')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358564336560', 'post140358564336560')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358564336560">
<li onclick="toggle('pre140358564336560', 'post140358564336560')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564336560', 'post140358564336560')"><pre> break</pre></li>
<li onclick="toggle('pre140358564336560', 'post140358564336560')"><pre></pre></li>
<li onclick="toggle('pre140358564336560', 'post140358564336560')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358564336560', 'post140358564336560')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358564336560', 'post140358564336560')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564336560')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564336560">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358564336704">
<ol start="44" class="pre-context" id="pre140358564336704">
<li onclick="toggle('pre140358564336704', 'post140358564336704')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358564336704', 'post140358564336704')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358564336704', 'post140358564336704')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358564336704', 'post140358564336704')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358564336704', 'post140358564336704')"><pre> )</pre></li>
<li onclick="toggle('pre140358564336704', 'post140358564336704')"><pre> )</pre></li>
<li onclick="toggle('pre140358564336704', 'post140358564336704')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358564336704', 'post140358564336704')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358564336704">
<li onclick="toggle('pre140358564336704', 'post140358564336704')"><pre></pre></li>
<li onclick="toggle('pre140358564336704', 'post140358564336704')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358564336704', 'post140358564336704')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358564336704', 'post140358564336704')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358564336704', 'post140358564336704')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358564336704', 'post140358564336704')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564336704')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564336704">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358564338000">
<ol start="66" class="pre-context" id="pre140358564338000">
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre></pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358564338000">
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> )</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> request</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> )</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564338000')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564338000">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358564338648">
<ol start="62" class="pre-context" id="pre140358564338648">
<li onclick="toggle('pre140358564338648', 'post140358564338648')"><pre> """</pre></li>
<li onclick="toggle('pre140358564338648', 'post140358564338648')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358564338648', 'post140358564338648')"><pre> try:</pre></li>
<li onclick="toggle('pre140358564338648', 'post140358564338648')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358564338648', 'post140358564338648')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358564338648', 'post140358564338648')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358564338648', 'post140358564338648')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358564338648', 'post140358564338648')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358564338648">
<li onclick="toggle('pre140358564338648', 'post140358564338648')"><pre> )</pre></li>
<li onclick="toggle('pre140358564338648', 'post140358564338648')"><pre> else:</pre></li>
<li onclick="toggle('pre140358564338648', 'post140358564338648')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358564338648', 'post140358564338648')"><pre></pre></li>
<li onclick="toggle('pre140358564338648', 'post140358564338648')"><pre></pre></li>
<li onclick="toggle('pre140358564338648', 'post140358564338648')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564338648')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564338648">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323351999_common-unicode-ascii-semi-colon-test-%253B'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1571953195993363303.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2287397488353890795.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686067'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=JMBBgTBZyhqYjPFdd544PSLXr3TqVus_rSaU'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58598'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877832040776'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877832040634'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877832040428'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877832040805'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c6667930></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c6449ef0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323351999_common-unicode-ascii-semi-colon-test-%253B; FilePart:object = /tmp/mmp.output.2287397488353890795.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1571953195993363303.tmp (1027 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:52 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358534407736">
<ol start="32" class="pre-context" id="pre140358534407736">
<li onclick="toggle('pre140358534407736', 'post140358534407736')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358534407736', 'post140358534407736')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358534407736', 'post140358534407736')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358534407736', 'post140358534407736')"><pre> """</pre></li>
<li onclick="toggle('pre140358534407736', 'post140358534407736')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358534407736', 'post140358534407736')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358534407736', 'post140358534407736')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358534407736', 'post140358534407736')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358534407736">
<li onclick="toggle('pre140358534407736', 'post140358534407736')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358534407736', 'post140358534407736')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358534407736', 'post140358534407736')"><pre> return response</pre></li>
<li onclick="toggle('pre140358534407736', 'post140358534407736')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358534407736', 'post140358534407736')"><pre></pre></li>
<li onclick="toggle('pre140358534407736', 'post140358534407736')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534407736')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534407736">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358534407160">
<ol start="242" class="pre-context" id="pre140358534407160">
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre> break</pre></li>
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre></pre></li>
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358534407160">
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534407160')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534407160">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358546351024">
<ol start="171" class="pre-context" id="pre140358546351024">
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre></pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre></pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358546351024">
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> break</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre></pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546351024')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546351024">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358534386608">
<ol start="44" class="pre-context" id="pre140358534386608">
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> )</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> )</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358534386608">
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre></pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534386608')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534386608">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358534389632">
<ol start="66" class="pre-context" id="pre140358534389632">
<li onclick="toggle('pre140358534389632', 'post140358534389632')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358534389632', 'post140358534389632')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358534389632', 'post140358534389632')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358534389632', 'post140358534389632')"><pre></pre></li>
<li onclick="toggle('pre140358534389632', 'post140358534389632')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358534389632', 'post140358534389632')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358534389632', 'post140358534389632')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358534389632', 'post140358534389632')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358534389632">
<li onclick="toggle('pre140358534389632', 'post140358534389632')"><pre> )</pre></li>
<li onclick="toggle('pre140358534389632', 'post140358534389632')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358534389632', 'post140358534389632')"><pre> request</pre></li>
<li onclick="toggle('pre140358534389632', 'post140358534389632')"><pre> )</pre></li>
<li onclick="toggle('pre140358534389632', 'post140358534389632')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358534389632', 'post140358534389632')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534389632')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534389632">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358534410112">
<ol start="62" class="pre-context" id="pre140358534410112">
<li onclick="toggle('pre140358534410112', 'post140358534410112')"><pre> """</pre></li>
<li onclick="toggle('pre140358534410112', 'post140358534410112')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358534410112', 'post140358534410112')"><pre> try:</pre></li>
<li onclick="toggle('pre140358534410112', 'post140358534410112')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358534410112', 'post140358534410112')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358534410112', 'post140358534410112')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358534410112', 'post140358534410112')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358534410112', 'post140358534410112')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358534410112">
<li onclick="toggle('pre140358534410112', 'post140358534410112')"><pre> )</pre></li>
<li onclick="toggle('pre140358534410112', 'post140358534410112')"><pre> else:</pre></li>
<li onclick="toggle('pre140358534410112', 'post140358534410112')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358534410112', 'post140358534410112')"><pre></pre></li>
<li onclick="toggle('pre140358534410112', 'post140358534410112')"><pre></pre></li>
<li onclick="toggle('pre140358534410112', 'post140358534410112')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534410112')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534410112">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323352199_common-unicode-ascii-escaped-%25'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4941000075882045080.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7490572556234351438.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686059'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=fNwTc06o_VtHuJ7PO3722r4cDCiYVDBDx5XuG3j'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58599'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877832240693'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877832240564'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877832240357'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877832240721'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c54b6a98></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c687d2b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323352199_common-unicode-ascii-escaped-%25; FilePart:object = /tmp/mmp.output.7490572556234351438.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4941000075882045080.tmp (1017 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:52 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358564465120">
<ol start="32" class="pre-context" id="pre140358564465120">
<li onclick="toggle('pre140358564465120', 'post140358564465120')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358564465120', 'post140358564465120')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358564465120', 'post140358564465120')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358564465120', 'post140358564465120')"><pre> """</pre></li>
<li onclick="toggle('pre140358564465120', 'post140358564465120')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358564465120', 'post140358564465120')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358564465120', 'post140358564465120')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358564465120', 'post140358564465120')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358564465120">
<li onclick="toggle('pre140358564465120', 'post140358564465120')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358564465120', 'post140358564465120')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358564465120', 'post140358564465120')"><pre> return response</pre></li>
<li onclick="toggle('pre140358564465120', 'post140358564465120')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358564465120', 'post140358564465120')"><pre></pre></li>
<li onclick="toggle('pre140358564465120', 'post140358564465120')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564465120')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564465120">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358564465624">
<ol start="242" class="pre-context" id="pre140358564465624">
<li onclick="toggle('pre140358564465624', 'post140358564465624')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358564465624', 'post140358564465624')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358564465624', 'post140358564465624')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358564465624', 'post140358564465624')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564465624', 'post140358564465624')"><pre> break</pre></li>
<li onclick="toggle('pre140358564465624', 'post140358564465624')"><pre></pre></li>
<li onclick="toggle('pre140358564465624', 'post140358564465624')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358564465624', 'post140358564465624')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358564465624">
<li onclick="toggle('pre140358564465624', 'post140358564465624')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564465624')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564465624">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358564466128">
<ol start="171" class="pre-context" id="pre140358564466128">
<li onclick="toggle('pre140358564466128', 'post140358564466128')"><pre></pre></li>
<li onclick="toggle('pre140358564466128', 'post140358564466128')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358564466128', 'post140358564466128')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358564466128', 'post140358564466128')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358564466128', 'post140358564466128')"><pre></pre></li>
<li onclick="toggle('pre140358564466128', 'post140358564466128')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358564466128', 'post140358564466128')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358564466128', 'post140358564466128')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358564466128">
<li onclick="toggle('pre140358564466128', 'post140358564466128')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564466128', 'post140358564466128')"><pre> break</pre></li>
<li onclick="toggle('pre140358564466128', 'post140358564466128')"><pre></pre></li>
<li onclick="toggle('pre140358564466128', 'post140358564466128')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358564466128', 'post140358564466128')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358564466128', 'post140358564466128')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564466128')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564466128">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358564464544">
<ol start="44" class="pre-context" id="pre140358564464544">
<li onclick="toggle('pre140358564464544', 'post140358564464544')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358564464544', 'post140358564464544')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358564464544', 'post140358564464544')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358564464544', 'post140358564464544')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358564464544', 'post140358564464544')"><pre> )</pre></li>
<li onclick="toggle('pre140358564464544', 'post140358564464544')"><pre> )</pre></li>
<li onclick="toggle('pre140358564464544', 'post140358564464544')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358564464544', 'post140358564464544')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358564464544">
<li onclick="toggle('pre140358564464544', 'post140358564464544')"><pre></pre></li>
<li onclick="toggle('pre140358564464544', 'post140358564464544')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358564464544', 'post140358564464544')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358564464544', 'post140358564464544')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358564464544', 'post140358564464544')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358564464544', 'post140358564464544')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564464544')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564464544">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358564463608">
<ol start="66" class="pre-context" id="pre140358564463608">
<li onclick="toggle('pre140358564463608', 'post140358564463608')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358564463608', 'post140358564463608')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358564463608', 'post140358564463608')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358564463608', 'post140358564463608')"><pre></pre></li>
<li onclick="toggle('pre140358564463608', 'post140358564463608')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358564463608', 'post140358564463608')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358564463608', 'post140358564463608')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358564463608', 'post140358564463608')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358564463608">
<li onclick="toggle('pre140358564463608', 'post140358564463608')"><pre> )</pre></li>
<li onclick="toggle('pre140358564463608', 'post140358564463608')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358564463608', 'post140358564463608')"><pre> request</pre></li>
<li onclick="toggle('pre140358564463608', 'post140358564463608')"><pre> )</pre></li>
<li onclick="toggle('pre140358564463608', 'post140358564463608')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358564463608', 'post140358564463608')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564463608')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564463608">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358564464904">
<ol start="62" class="pre-context" id="pre140358564464904">
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> """</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> try:</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358564464904">
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> )</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> else:</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre></pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre></pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564464904')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564464904">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323352372_common-unicode-ascii-escaped-space%20x%20x'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6940760565198760473.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6005657745011278022.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686063'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=0WpTrTA3pI5ui1lXhRMmDQeEFVf0oZfTj09'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58600'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877832415377'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877832415236'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877832415029'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877832415406'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c73d8f18></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c64b0570></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323352372_common-unicode-ascii-escaped-space%20x%20x; FilePart:object = /tmp/mmp.output.6005657745011278022.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6940760565198760473.tmp (1027 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:52 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562297616">
<ol start="32" class="pre-context" id="pre140358562297616">
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> """</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562297616">
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre></pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562297616')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562297616">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562298984">
<ol start="242" class="pre-context" id="pre140358562298984">
<li onclick="toggle('pre140358562298984', 'post140358562298984')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562298984', 'post140358562298984')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562298984', 'post140358562298984')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562298984', 'post140358562298984')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562298984', 'post140358562298984')"><pre> break</pre></li>
<li onclick="toggle('pre140358562298984', 'post140358562298984')"><pre></pre></li>
<li onclick="toggle('pre140358562298984', 'post140358562298984')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562298984', 'post140358562298984')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562298984">
<li onclick="toggle('pre140358562298984', 'post140358562298984')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562298984')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562298984">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358562853016">
<ol start="171" class="pre-context" id="pre140358562853016">
<li onclick="toggle('pre140358562853016', 'post140358562853016')"><pre></pre></li>
<li onclick="toggle('pre140358562853016', 'post140358562853016')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358562853016', 'post140358562853016')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358562853016', 'post140358562853016')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358562853016', 'post140358562853016')"><pre></pre></li>
<li onclick="toggle('pre140358562853016', 'post140358562853016')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358562853016', 'post140358562853016')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358562853016', 'post140358562853016')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358562853016">
<li onclick="toggle('pre140358562853016', 'post140358562853016')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562853016', 'post140358562853016')"><pre> break</pre></li>
<li onclick="toggle('pre140358562853016', 'post140358562853016')"><pre></pre></li>
<li onclick="toggle('pre140358562853016', 'post140358562853016')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358562853016', 'post140358562853016')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358562853016', 'post140358562853016')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562853016')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562853016">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358534279536">
<ol start="44" class="pre-context" id="pre140358534279536">
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> )</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> )</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358534279536">
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre></pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534279536')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534279536">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358534279896">
<ol start="66" class="pre-context" id="pre140358534279896">
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre></pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358534279896">
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> )</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> request</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> )</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534279896')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534279896">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562298048">
<ol start="62" class="pre-context" id="pre140358562298048">
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> """</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562298048">
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> )</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre></pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre></pre></li>
<li onclick="toggle('pre140358562298048', 'post140358562298048')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562298048')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562298048">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323352546_common-unicode-ascii-escape-anyway-%2B'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4666107482310359949.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8302090846902319140.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686067'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=mgBXgRdNPatgrfWc0wQfpEBxyd1OhEvWqTP2aj'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58601'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877832587627'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877832587498'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877832587279'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877832587654'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c4955f60></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c69613f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323352546_common-unicode-ascii-escape-anyway-%2B; FilePart:object = /tmp/mmp.output.8302090846902319140.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4666107482310359949.tmp (1023 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:52 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358563600144">
<ol start="32" class="pre-context" id="pre140358563600144">
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> """</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358563600144">
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> return response</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre></pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563600144')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563600144">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358563839296">
<ol start="242" class="pre-context" id="pre140358563839296">
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> break</pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre></pre></li>
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358563839296">
<li onclick="toggle('pre140358563839296', 'post140358563839296')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563839296')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563839296">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358564253920">
<ol start="171" class="pre-context" id="pre140358564253920">
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre></pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre></pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358564253920">
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> break</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre></pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358564253920', 'post140358564253920')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564253920')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564253920">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358564257520">
<ol start="44" class="pre-context" id="pre140358564257520">
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> )</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> )</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358564257520">
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre></pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358564257520', 'post140358564257520')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564257520')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564257520">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358564257448">
<ol start="66" class="pre-context" id="pre140358564257448">
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre></pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358564257448">
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> )</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> request</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> )</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564257448')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564257448">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358564256224">
<ol start="62" class="pre-context" id="pre140358564256224">
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> """</pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> try:</pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358564256224">
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> )</pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> else:</pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre></pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre></pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564256224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564256224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323352745_common-unicode-ascii-escape-space-v-plus-%2B%20%2B%2520%20%2520%2B'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5195040099227766211.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8480307686863195130.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686127'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=o5KBGwkICLfzMJNmbCP51CCubOabaXnGRd_3liu'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58603'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877832796561'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877832796433'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877832796226'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877832796590'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c640fcd8></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c6872330></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323352745_common-unicode-ascii-escape-space-v-plus-%2B%20%2B%2520%20%2520%2B; FilePart:object = /tmp/mmp.output.8480307686863195130.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5195040099227766211.tmp (1051 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:53 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562716200">
<ol start="32" class="pre-context" id="pre140358562716200">
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> """</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562716200">
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre></pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562716200')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562716200">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562714688">
<ol start="242" class="pre-context" id="pre140358562714688">
<li onclick="toggle('pre140358562714688', 'post140358562714688')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562714688', 'post140358562714688')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562714688', 'post140358562714688')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562714688', 'post140358562714688')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562714688', 'post140358562714688')"><pre> break</pre></li>
<li onclick="toggle('pre140358562714688', 'post140358562714688')"><pre></pre></li>
<li onclick="toggle('pre140358562714688', 'post140358562714688')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562714688', 'post140358562714688')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562714688">
<li onclick="toggle('pre140358562714688', 'post140358562714688')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562714688')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562714688">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358562714832">
<ol start="171" class="pre-context" id="pre140358562714832">
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre></pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre></pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358562714832">
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> break</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre></pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562714832')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562714832">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562715768">
<ol start="44" class="pre-context" id="pre140358562715768">
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> )</pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> )</pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562715768">
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre></pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562715768')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562715768">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562715120">
<ol start="66" class="pre-context" id="pre140358562715120">
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre></pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562715120">
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> )</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> request</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> )</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562715120')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562715120">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562713896">
<ol start="62" class="pre-context" id="pre140358562713896">
<li onclick="toggle('pre140358562713896', 'post140358562713896')"><pre> """</pre></li>
<li onclick="toggle('pre140358562713896', 'post140358562713896')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562713896', 'post140358562713896')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562713896', 'post140358562713896')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562713896', 'post140358562713896')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562713896', 'post140358562713896')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562713896', 'post140358562713896')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562713896', 'post140358562713896')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562713896">
<li onclick="toggle('pre140358562713896', 'post140358562713896')"><pre> )</pre></li>
<li onclick="toggle('pre140358562713896', 'post140358562713896')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562713896', 'post140358562713896')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562713896', 'post140358562713896')"><pre></pre></li>
<li onclick="toggle('pre140358562713896', 'post140358562713896')"><pre></pre></li>
<li onclick="toggle('pre140358562713896', 'post140358562713896')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562713896')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562713896">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323352959_path-unicode-ascii-safe-&=&='</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1454321453137045788.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7847376826328796356.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686043'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=x_v7LlWBKU8HAG_QIHQcEO39ht-1b1Vy5LO'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58604'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877833000421'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877833000293'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877833000086'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877833000449'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c4955390></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c697f3b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323352959_path-unicode-ascii-safe-&=&=; FilePart:object = /tmp/mmp.output.7847376826328796356.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1454321453137045788.tmp (1021 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:53 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562472880">
<ol start="32" class="pre-context" id="pre140358562472880">
<li onclick="toggle('pre140358562472880', 'post140358562472880')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562472880', 'post140358562472880')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562472880', 'post140358562472880')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562472880', 'post140358562472880')"><pre> """</pre></li>
<li onclick="toggle('pre140358562472880', 'post140358562472880')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562472880', 'post140358562472880')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562472880', 'post140358562472880')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562472880', 'post140358562472880')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562472880">
<li onclick="toggle('pre140358562472880', 'post140358562472880')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562472880', 'post140358562472880')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562472880', 'post140358562472880')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562472880', 'post140358562472880')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562472880', 'post140358562472880')"><pre></pre></li>
<li onclick="toggle('pre140358562472880', 'post140358562472880')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562472880')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562472880">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358563600144">
<ol start="242" class="pre-context" id="pre140358563600144">
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> break</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre></pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358563600144">
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563600144')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563600144">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358563602016">
<ol start="171" class="pre-context" id="pre140358563602016">
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre></pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre></pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358563602016">
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> break</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre></pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358563602016', 'post140358563602016')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563602016')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563602016">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358563602376">
<ol start="44" class="pre-context" id="pre140358563602376">
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> )</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> )</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358563602376">
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre></pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563602376')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563602376">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562827224">
<ol start="66" class="pre-context" id="pre140358562827224">
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre></pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562827224">
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> )</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> request</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> )</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562827224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562827224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562473384">
<ol start="62" class="pre-context" id="pre140358562473384">
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> """</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562473384">
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> )</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre></pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre></pre></li>
<li onclick="toggle('pre140358562473384', 'post140358562473384')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562473384')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562473384">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323353130_path-unicode-ascii-escaped-%3B'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6706101099347815052.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5808569114029007528.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686059'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=IdTNNxr3zjmCBdEagM89C81D-b-NlSU3A517-Q9S'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58605'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877833172041'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877833171913'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877833171706'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877833172068'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c6474ae0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c649a5f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323353130_path-unicode-ascii-escaped-%3B; FilePart:object = /tmp/mmp.output.5808569114029007528.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6706101099347815052.tmp (1015 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:53 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358565283312">
<ol start="32" class="pre-context" id="pre140358565283312">
<li onclick="toggle('pre140358565283312', 'post140358565283312')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358565283312', 'post140358565283312')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358565283312', 'post140358565283312')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358565283312', 'post140358565283312')"><pre> """</pre></li>
<li onclick="toggle('pre140358565283312', 'post140358565283312')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358565283312', 'post140358565283312')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358565283312', 'post140358565283312')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358565283312', 'post140358565283312')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358565283312">
<li onclick="toggle('pre140358565283312', 'post140358565283312')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358565283312', 'post140358565283312')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358565283312', 'post140358565283312')"><pre> return response</pre></li>
<li onclick="toggle('pre140358565283312', 'post140358565283312')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358565283312', 'post140358565283312')"><pre></pre></li>
<li onclick="toggle('pre140358565283312', 'post140358565283312')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358565283312')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358565283312">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358565284176">
<ol start="242" class="pre-context" id="pre140358565284176">
<li onclick="toggle('pre140358565284176', 'post140358565284176')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358565284176', 'post140358565284176')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358565284176', 'post140358565284176')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358565284176', 'post140358565284176')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358565284176', 'post140358565284176')"><pre> break</pre></li>
<li onclick="toggle('pre140358565284176', 'post140358565284176')"><pre></pre></li>
<li onclick="toggle('pre140358565284176', 'post140358565284176')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358565284176', 'post140358565284176')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358565284176">
<li onclick="toggle('pre140358565284176', 'post140358565284176')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358565284176')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358565284176">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358565282520">
<ol start="171" class="pre-context" id="pre140358565282520">
<li onclick="toggle('pre140358565282520', 'post140358565282520')"><pre></pre></li>
<li onclick="toggle('pre140358565282520', 'post140358565282520')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358565282520', 'post140358565282520')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358565282520', 'post140358565282520')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358565282520', 'post140358565282520')"><pre></pre></li>
<li onclick="toggle('pre140358565282520', 'post140358565282520')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358565282520', 'post140358565282520')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358565282520', 'post140358565282520')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358565282520">
<li onclick="toggle('pre140358565282520', 'post140358565282520')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358565282520', 'post140358565282520')"><pre> break</pre></li>
<li onclick="toggle('pre140358565282520', 'post140358565282520')"><pre></pre></li>
<li onclick="toggle('pre140358565282520', 'post140358565282520')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358565282520', 'post140358565282520')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358565282520', 'post140358565282520')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358565282520')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358565282520">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358531807424">
<ol start="44" class="pre-context" id="pre140358531807424">
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> )</pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> )</pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358531807424">
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre></pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531807424')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531807424">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358531806488">
<ol start="66" class="pre-context" id="pre140358531806488">
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre></pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358531806488">
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> )</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> request</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> )</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358531806488', 'post140358531806488')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531806488')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531806488">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358565284752">
<ol start="62" class="pre-context" id="pre140358565284752">
<li onclick="toggle('pre140358565284752', 'post140358565284752')"><pre> """</pre></li>
<li onclick="toggle('pre140358565284752', 'post140358565284752')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358565284752', 'post140358565284752')"><pre> try:</pre></li>
<li onclick="toggle('pre140358565284752', 'post140358565284752')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358565284752', 'post140358565284752')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358565284752', 'post140358565284752')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358565284752', 'post140358565284752')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358565284752', 'post140358565284752')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358565284752">
<li onclick="toggle('pre140358565284752', 'post140358565284752')"><pre> )</pre></li>
<li onclick="toggle('pre140358565284752', 'post140358565284752')"><pre> else:</pre></li>
<li onclick="toggle('pre140358565284752', 'post140358565284752')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358565284752', 'post140358565284752')"><pre></pre></li>
<li onclick="toggle('pre140358565284752', 'post140358565284752')"><pre></pre></li>
<li onclick="toggle('pre140358565284752', 'post140358565284752')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358565284752')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358565284752">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323353397_path-unicode-ascii-escaped-%3F'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1741469863839830697.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7121967016226437665.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686027'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=66oMslvleJ_pj4SUuyYwt40GCMjoEoiS'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58606'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877833438993'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877833438865'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877833438657'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877833439021'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c6960c00></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c685cef0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323353397_path-unicode-ascii-escaped-%3F; FilePart:object = /tmp/mmp.output.7121967016226437665.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1741469863839830697.tmp (1015 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:53 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358563933288">
<ol start="32" class="pre-context" id="pre140358563933288">
<li onclick="toggle('pre140358563933288', 'post140358563933288')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358563933288', 'post140358563933288')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358563933288', 'post140358563933288')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358563933288', 'post140358563933288')"><pre> """</pre></li>
<li onclick="toggle('pre140358563933288', 'post140358563933288')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358563933288', 'post140358563933288')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358563933288', 'post140358563933288')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358563933288', 'post140358563933288')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358563933288">
<li onclick="toggle('pre140358563933288', 'post140358563933288')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358563933288', 'post140358563933288')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358563933288', 'post140358563933288')"><pre> return response</pre></li>
<li onclick="toggle('pre140358563933288', 'post140358563933288')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358563933288', 'post140358563933288')"><pre></pre></li>
<li onclick="toggle('pre140358563933288', 'post140358563933288')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563933288')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563933288">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358564882768">
<ol start="242" class="pre-context" id="pre140358564882768">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> break</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre></pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358564882768">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564882768')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564882768">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358564872560">
<ol start="171" class="pre-context" id="pre140358564872560">
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre></pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre></pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358564872560">
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> break</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre></pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358564872560', 'post140358564872560')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564872560')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564872560">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562281016">
<ol start="44" class="pre-context" id="pre140358562281016">
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> )</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> )</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562281016">
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre></pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562281016', 'post140358562281016')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562281016')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562281016">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562282096">
<ol start="66" class="pre-context" id="pre140358562282096">
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre></pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562282096">
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> )</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> request</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> )</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562282096', 'post140358562282096')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562282096')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562282096">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358563930696">
<ol start="62" class="pre-context" id="pre140358563930696">
<li onclick="toggle('pre140358563930696', 'post140358563930696')"><pre> """</pre></li>
<li onclick="toggle('pre140358563930696', 'post140358563930696')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358563930696', 'post140358563930696')"><pre> try:</pre></li>
<li onclick="toggle('pre140358563930696', 'post140358563930696')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358563930696', 'post140358563930696')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358563930696', 'post140358563930696')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358563930696', 'post140358563930696')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358563930696', 'post140358563930696')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358563930696">
<li onclick="toggle('pre140358563930696', 'post140358563930696')"><pre> )</pre></li>
<li onclick="toggle('pre140358563930696', 'post140358563930696')"><pre> else:</pre></li>
<li onclick="toggle('pre140358563930696', 'post140358563930696')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358563930696', 'post140358563930696')"><pre></pre></li>
<li onclick="toggle('pre140358563930696', 'post140358563930696')"><pre></pre></li>
<li onclick="toggle('pre140358563930696', 'post140358563930696')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563930696')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563930696">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323353573_path-unicode-ascii-escaped-%2F'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1556905972559612273.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8137958293440687026.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686019'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=OM7ijqUpj3lQ6YucCegxP_-n4toSg0'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58607'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877833614293'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877833614168'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877833613961'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877833614321'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c656bd20></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c63bf630></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323353573_path-unicode-ascii-escaped-%2F; FilePart:object = /tmp/mmp.output.8137958293440687026.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1556905972559612273.tmp (1015 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:53 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562282600">
<ol start="32" class="pre-context" id="pre140358562282600">
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> """</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562282600">
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre></pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562282600')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562282600">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358534386608">
<ol start="242" class="pre-context" id="pre140358534386608">
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> break</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre></pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358534386608">
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534386608')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534386608">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358546351168">
<ol start="171" class="pre-context" id="pre140358546351168">
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre></pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre></pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358546351168">
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> break</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre></pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358546351168', 'post140358546351168')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546351168')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546351168">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358546351024">
<ol start="44" class="pre-context" id="pre140358546351024">
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> )</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> )</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358546351024">
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre></pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546351024')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546351024">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358546353328">
<ol start="66" class="pre-context" id="pre140358546353328">
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre></pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358546353328">
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> )</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> request</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> )</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546353328')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546353328">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562283104">
<ol start="62" class="pre-context" id="pre140358562283104">
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> """</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562283104">
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> )</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre></pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre></pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562283104')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562283104">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323353778_path-unicode-ascii-escaped-%253F'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3246579874213876699.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.460320936265788867.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686030'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=mO-5xtjXtQaeHSw4OnAJYXwEY878acRt'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58609'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877833835276'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877833835149'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877833834940'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877833835304'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c46df4f8></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c68631f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323353778_path-unicode-ascii-escaped-%253F; FilePart:object = /tmp/mmp.output.460320936265788867.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3246579874213876699.tmp (1017 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:54 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562311704">
<ol start="32" class="pre-context" id="pre140358562311704">
<li onclick="toggle('pre140358562311704', 'post140358562311704')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562311704', 'post140358562311704')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562311704', 'post140358562311704')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562311704', 'post140358562311704')"><pre> """</pre></li>
<li onclick="toggle('pre140358562311704', 'post140358562311704')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562311704', 'post140358562311704')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562311704', 'post140358562311704')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562311704', 'post140358562311704')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562311704">
<li onclick="toggle('pre140358562311704', 'post140358562311704')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562311704', 'post140358562311704')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562311704', 'post140358562311704')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562311704', 'post140358562311704')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562311704', 'post140358562311704')"><pre></pre></li>
<li onclick="toggle('pre140358562311704', 'post140358562311704')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562311704')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562311704">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562827224">
<ol start="242" class="pre-context" id="pre140358562827224">
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> break</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre></pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562827224">
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562827224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562827224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358562472160">
<ol start="171" class="pre-context" id="pre140358562472160">
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre></pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre></pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358562472160">
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> break</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre></pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562472160')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562472160">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562472232">
<ol start="44" class="pre-context" id="pre140358562472232">
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> )</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> )</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562472232">
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre></pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562472232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562472232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562473096">
<ol start="66" class="pre-context" id="pre140358562473096">
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre></pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562473096">
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> )</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> request</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> )</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562473096')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562473096">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562309616">
<ol start="62" class="pre-context" id="pre140358562309616">
<li onclick="toggle('pre140358562309616', 'post140358562309616')"><pre> """</pre></li>
<li onclick="toggle('pre140358562309616', 'post140358562309616')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562309616', 'post140358562309616')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562309616', 'post140358562309616')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562309616', 'post140358562309616')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562309616', 'post140358562309616')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562309616', 'post140358562309616')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562309616', 'post140358562309616')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562309616">
<li onclick="toggle('pre140358562309616', 'post140358562309616')"><pre> )</pre></li>
<li onclick="toggle('pre140358562309616', 'post140358562309616')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562309616', 'post140358562309616')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562309616', 'post140358562309616')"><pre></pre></li>
<li onclick="toggle('pre140358562309616', 'post140358562309616')"><pre></pre></li>
<li onclick="toggle('pre140358562309616', 'post140358562309616')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562309616')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562309616">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232335457_path-unicode-ascii-escaped-%252F'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1781991151886399192.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2645888827352787673.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686053'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=ahjKQKLK5I8LM7amgXnk6PV2oAKgW_LQQGCiWw'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58610'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877834098534'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877834098394'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877834098188'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877834098562'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c63ef618></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c697f9f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232335457_path-unicode-ascii-escaped-%252F; FilePart:object = /tmp/mmp.output.2645888827352787673.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1781991151886399192.tmp (1016 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:54 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562716488">
<ol start="32" class="pre-context" id="pre140358562716488">
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> """</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562716488">
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre></pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562716488')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562716488">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562714832">
<ol start="242" class="pre-context" id="pre140358562714832">
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> break</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre></pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562714832">
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562714832')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562714832">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358534279824">
<ol start="171" class="pre-context" id="pre140358534279824">
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre></pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre></pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358534279824">
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> break</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre></pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534279824')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534279824">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358534279536">
<ol start="44" class="pre-context" id="pre140358534279536">
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> )</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> )</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358534279536">
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre></pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358534279536', 'post140358534279536')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534279536')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534279536">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358534279896">
<ol start="66" class="pre-context" id="pre140358534279896">
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre></pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358534279896">
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> )</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> request</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> )</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358534279896', 'post140358534279896')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534279896')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534279896">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562714040">
<ol start="62" class="pre-context" id="pre140358562714040">
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> """</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562714040">
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> )</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre></pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre></pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562714040')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562714040">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323354229_path-unicode-ascii-escaped-double-%2F%2Fcase'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3429648255515810258.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2557317311000040740.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686087'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=G7KaghTRc2O-WhReFBp_GQavtUlE1DFmjOokAea6'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58611'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877834270531'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877834270401'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877834270192'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877834270558'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c4955f60></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c68aaaf0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323354229_path-unicode-ascii-escaped-double-%2F%2Fcase; FilePart:object = /tmp/mmp.output.2557317311000040740.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3429648255515810258.tmp (1029 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:54 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562473960">
<ol start="32" class="pre-context" id="pre140358562473960">
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> """</pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562473960">
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre></pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562473960')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562473960">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358564256224">
<ol start="242" class="pre-context" id="pre140358564256224">
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> break</pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre></pre></li>
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358564256224">
<li onclick="toggle('pre140358564256224', 'post140358564256224')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564256224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564256224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358564254424">
<ol start="171" class="pre-context" id="pre140358564254424">
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre></pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre></pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358564254424">
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> break</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre></pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358564254424', 'post140358564254424')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564254424')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564254424">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358564255936">
<ol start="44" class="pre-context" id="pre140358564255936">
<li onclick="toggle('pre140358564255936', 'post140358564255936')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358564255936', 'post140358564255936')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358564255936', 'post140358564255936')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358564255936', 'post140358564255936')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358564255936', 'post140358564255936')"><pre> )</pre></li>
<li onclick="toggle('pre140358564255936', 'post140358564255936')"><pre> )</pre></li>
<li onclick="toggle('pre140358564255936', 'post140358564255936')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358564255936', 'post140358564255936')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358564255936">
<li onclick="toggle('pre140358564255936', 'post140358564255936')"><pre></pre></li>
<li onclick="toggle('pre140358564255936', 'post140358564255936')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358564255936', 'post140358564255936')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358564255936', 'post140358564255936')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358564255936', 'post140358564255936')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358564255936', 'post140358564255936')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564255936')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564255936">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358564257448">
<ol start="66" class="pre-context" id="pre140358564257448">
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre></pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358564257448">
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> )</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> request</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> )</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358564257448', 'post140358564257448')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564257448')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564257448">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562472160">
<ol start="62" class="pre-context" id="pre140358562472160">
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> """</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562472160">
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> )</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre></pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre></pre></li>
<li onclick="toggle('pre140358562472160', 'post140358562472160')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562472160')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562472160">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323354489_path-unicode-ascii-escaped-double-trailing%2F%2F'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.305335983529778989.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6147204862787676716.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686094'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=KIN0wXGrpxG0Iih6iurgyD42USIb_3EsVgz8D6Ez'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58612'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877834543817'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877834543676'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877834543470'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877834543845'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c65d1f18></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c63ca570></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323354489_path-unicode-ascii-escaped-double-trailing%2F%2F; FilePart:object = /tmp/mmp.output.6147204862787676716.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.305335983529778989.tmp (1033 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:54 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358534359160">
<ol start="32" class="pre-context" id="pre140358534359160">
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> """</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358534359160">
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> return response</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre></pre></li>
<li onclick="toggle('pre140358534359160', 'post140358534359160')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534359160')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534359160">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358534357216">
<ol start="242" class="pre-context" id="pre140358534357216">
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> break</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre></pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358534357216">
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534357216')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534357216">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358534358080">
<ol start="171" class="pre-context" id="pre140358534358080">
<li onclick="toggle('pre140358534358080', 'post140358534358080')"><pre></pre></li>
<li onclick="toggle('pre140358534358080', 'post140358534358080')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358534358080', 'post140358534358080')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358534358080', 'post140358534358080')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358534358080', 'post140358534358080')"><pre></pre></li>
<li onclick="toggle('pre140358534358080', 'post140358534358080')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358534358080', 'post140358534358080')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358534358080', 'post140358534358080')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358534358080">
<li onclick="toggle('pre140358534358080', 'post140358534358080')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534358080', 'post140358534358080')"><pre> break</pre></li>
<li onclick="toggle('pre140358534358080', 'post140358534358080')"><pre></pre></li>
<li onclick="toggle('pre140358534358080', 'post140358534358080')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358534358080', 'post140358534358080')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358534358080', 'post140358534358080')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534358080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534358080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358534358296">
<ol start="44" class="pre-context" id="pre140358534358296">
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> )</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> )</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358534358296">
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre></pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358534358296', 'post140358534358296')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534358296')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534358296">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358534386608">
<ol start="66" class="pre-context" id="pre140358534386608">
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre></pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358534386608">
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> )</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> request</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> )</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358534386608', 'post140358534386608')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534386608')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534386608">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358534358800">
<ol start="62" class="pre-context" id="pre140358534358800">
<li onclick="toggle('pre140358534358800', 'post140358534358800')"><pre> """</pre></li>
<li onclick="toggle('pre140358534358800', 'post140358534358800')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358534358800', 'post140358534358800')"><pre> try:</pre></li>
<li onclick="toggle('pre140358534358800', 'post140358534358800')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358534358800', 'post140358534358800')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358534358800', 'post140358534358800')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358534358800', 'post140358534358800')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358534358800', 'post140358534358800')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358534358800">
<li onclick="toggle('pre140358534358800', 'post140358534358800')"><pre> )</pre></li>
<li onclick="toggle('pre140358534358800', 'post140358534358800')"><pre> else:</pre></li>
<li onclick="toggle('pre140358534358800', 'post140358534358800')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358534358800', 'post140358534358800')"><pre></pre></li>
<li onclick="toggle('pre140358534358800', 'post140358534358800')"><pre></pre></li>
<li onclick="toggle('pre140358534358800', 'post140358534358800')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534358800')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534358800">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323354708_path-unicode-ascii-escaped-double-%252F%252Fcase'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4276154863032226671.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5794921929634598508.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686083'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=ktB-dfWW5k-OWCzfiiRfrjaD9xee_m1tI3FYX'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58613'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877834749761'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877834749592'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877834749386'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877834749790'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c493b150></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c6d5a6b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323354708_path-unicode-ascii-escaped-double-%252F%252Fcase; FilePart:object = /tmp/mmp.output.5794921929634598508.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4276154863032226671.tmp (1033 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:55 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562413456">
<ol start="32" class="pre-context" id="pre140358562413456">
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> """</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562413456">
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre></pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562413456')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562413456">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562412952">
<ol start="242" class="pre-context" id="pre140358562412952">
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> break</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre></pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562412952">
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562412952')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562412952">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358564882768">
<ol start="171" class="pre-context" id="pre140358564882768">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre></pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre></pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358564882768">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> break</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre></pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564882768')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564882768">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358564882120">
<ol start="44" class="pre-context" id="pre140358564882120">
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> )</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> )</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358564882120">
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre></pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358564882120', 'post140358564882120')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564882120')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564882120">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358564870480">
<ol start="66" class="pre-context" id="pre140358564870480">
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre></pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358564870480">
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> )</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> request</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> )</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358564870480', 'post140358564870480')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564870480')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564870480">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562413168">
<ol start="62" class="pre-context" id="pre140358562413168">
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> """</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562413168">
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> )</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre></pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre></pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562413168')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562413168">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323354923_path-unicode-ascii-escaped-double-trailing%252F%252F'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5604618225557627309.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7314016113554793387.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686083'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=sgGgSbFOAlyIBuVArkX8f4bm7y4x5ZRIlZb'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58615'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877834976949'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877834976759'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877834976550'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877834976979'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c6668150></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c6500c70></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323354923_path-unicode-ascii-escaped-double-trailing%252F%252F; FilePart:object = /tmp/mmp.output.7314016113554793387.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5604618225557627309.tmp (1037 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:55 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358546353328">
<ol start="32" class="pre-context" id="pre140358546353328">
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> """</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358546353328">
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> return response</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre></pre></li>
<li onclick="toggle('pre140358546353328', 'post140358546353328')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546353328')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546353328">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358546259912">
<ol start="242" class="pre-context" id="pre140358546259912">
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> break</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre></pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358546259912">
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546259912')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546259912">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358534287728">
<ol start="171" class="pre-context" id="pre140358534287728">
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre></pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre></pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358534287728">
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> break</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre></pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534287728')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534287728">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358567988976">
<ol start="44" class="pre-context" id="pre140358567988976">
<li onclick="toggle('pre140358567988976', 'post140358567988976')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358567988976', 'post140358567988976')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358567988976', 'post140358567988976')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358567988976', 'post140358567988976')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358567988976', 'post140358567988976')"><pre> )</pre></li>
<li onclick="toggle('pre140358567988976', 'post140358567988976')"><pre> )</pre></li>
<li onclick="toggle('pre140358567988976', 'post140358567988976')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358567988976', 'post140358567988976')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358567988976">
<li onclick="toggle('pre140358567988976', 'post140358567988976')"><pre></pre></li>
<li onclick="toggle('pre140358567988976', 'post140358567988976')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358567988976', 'post140358567988976')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358567988976', 'post140358567988976')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358567988976', 'post140358567988976')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358567988976', 'post140358567988976')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358567988976')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358567988976">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358567988544">
<ol start="66" class="pre-context" id="pre140358567988544">
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre></pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358567988544">
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> )</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> request</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> )</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358567988544')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358567988544">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358567986024">
<ol start="62" class="pre-context" id="pre140358567986024">
<li onclick="toggle('pre140358567986024', 'post140358567986024')"><pre> """</pre></li>
<li onclick="toggle('pre140358567986024', 'post140358567986024')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358567986024', 'post140358567986024')"><pre> try:</pre></li>
<li onclick="toggle('pre140358567986024', 'post140358567986024')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358567986024', 'post140358567986024')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358567986024', 'post140358567986024')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358567986024', 'post140358567986024')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358567986024', 'post140358567986024')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358567986024">
<li onclick="toggle('pre140358567986024', 'post140358567986024')"><pre> )</pre></li>
<li onclick="toggle('pre140358567986024', 'post140358567986024')"><pre> else:</pre></li>
<li onclick="toggle('pre140358567986024', 'post140358567986024')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358567986024', 'post140358567986024')"><pre></pre></li>
<li onclick="toggle('pre140358567986024', 'post140358567986024')"><pre></pre></li>
<li onclick="toggle('pre140358567986024', 'post140358567986024')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358567986024')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358567986024">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323355116_common-unicode-bmp-1byte-escaped-%C2%A1%C2%A2%C2%A3'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3470493361551622277.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5499922256239970459.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686077'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=23DFBmDX8mS6kH47wpqiuP1o8yw1NDYRDs'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58616'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877835157113'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877835156987'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877835156739'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877835157141'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c46df8a0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c687d7b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323355116_common-unicode-bmp-1byte-escaped-%C2%A1%C2%A2%C2%A3; FilePart:object = /tmp/mmp.output.5499922256239970459.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3470493361551622277.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:55 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358564338000">
<ol start="32" class="pre-context" id="pre140358564338000">
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> """</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358564338000">
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> return response</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre></pre></li>
<li onclick="toggle('pre140358564338000', 'post140358564338000')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564338000')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564338000">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562826144">
<ol start="242" class="pre-context" id="pre140358562826144">
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> break</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre></pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562826144">
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562826144')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562826144">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358562827224">
<ol start="171" class="pre-context" id="pre140358562827224">
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre></pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre></pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358562827224">
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> break</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre></pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358562827224', 'post140358562827224')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562827224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562827224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562826072">
<ol start="44" class="pre-context" id="pre140358562826072">
<li onclick="toggle('pre140358562826072', 'post140358562826072')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562826072', 'post140358562826072')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562826072', 'post140358562826072')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562826072', 'post140358562826072')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562826072', 'post140358562826072')"><pre> )</pre></li>
<li onclick="toggle('pre140358562826072', 'post140358562826072')"><pre> )</pre></li>
<li onclick="toggle('pre140358562826072', 'post140358562826072')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562826072', 'post140358562826072')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562826072">
<li onclick="toggle('pre140358562826072', 'post140358562826072')"><pre></pre></li>
<li onclick="toggle('pre140358562826072', 'post140358562826072')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562826072', 'post140358562826072')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562826072', 'post140358562826072')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562826072', 'post140358562826072')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562826072', 'post140358562826072')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562826072')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562826072">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562413888">
<ol start="66" class="pre-context" id="pre140358562413888">
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre></pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562413888">
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> )</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> request</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> )</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562413888')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562413888">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562413168">
<ol start="62" class="pre-context" id="pre140358562413168">
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> """</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562413168">
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> )</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre></pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre></pre></li>
<li onclick="toggle('pre140358562413168', 'post140358562413168')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562413168')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562413168">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323355289_common-unicode-bmp-2byte-escaped-%E4%A6%B9%E4%A6%BA'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4897587439618462211.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6584489814244817763.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686061'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=eweAIfO9Q9Zp9RB63v9pzSvo2CI80F'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58617'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877835331228'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877835331102'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877835330895'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877835331255'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c666a6a8></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c64f7a70></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323355289_common-unicode-bmp-2byte-escaped-%E4%A6%B9%E4%A6%BA; FilePart:object = /tmp/mmp.output.6584489814244817763.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4897587439618462211.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:55 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358534400048">
<ol start="32" class="pre-context" id="pre140358534400048">
<li onclick="toggle('pre140358534400048', 'post140358534400048')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358534400048', 'post140358534400048')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358534400048', 'post140358534400048')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358534400048', 'post140358534400048')"><pre> """</pre></li>
<li onclick="toggle('pre140358534400048', 'post140358534400048')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358534400048', 'post140358534400048')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358534400048', 'post140358534400048')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358534400048', 'post140358534400048')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358534400048">
<li onclick="toggle('pre140358534400048', 'post140358534400048')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358534400048', 'post140358534400048')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358534400048', 'post140358534400048')"><pre> return response</pre></li>
<li onclick="toggle('pre140358534400048', 'post140358534400048')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358534400048', 'post140358534400048')"><pre></pre></li>
<li onclick="toggle('pre140358534400048', 'post140358534400048')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534400048')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534400048">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358534399688">
<ol start="242" class="pre-context" id="pre140358534399688">
<li onclick="toggle('pre140358534399688', 'post140358534399688')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358534399688', 'post140358534399688')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358534399688', 'post140358534399688')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358534399688', 'post140358534399688')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534399688', 'post140358534399688')"><pre> break</pre></li>
<li onclick="toggle('pre140358534399688', 'post140358534399688')"><pre></pre></li>
<li onclick="toggle('pre140358534399688', 'post140358534399688')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358534399688', 'post140358534399688')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358534399688">
<li onclick="toggle('pre140358534399688', 'post140358534399688')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534399688')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534399688">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358534399040">
<ol start="171" class="pre-context" id="pre140358534399040">
<li onclick="toggle('pre140358534399040', 'post140358534399040')"><pre></pre></li>
<li onclick="toggle('pre140358534399040', 'post140358534399040')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358534399040', 'post140358534399040')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358534399040', 'post140358534399040')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358534399040', 'post140358534399040')"><pre></pre></li>
<li onclick="toggle('pre140358534399040', 'post140358534399040')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358534399040', 'post140358534399040')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358534399040', 'post140358534399040')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358534399040">
<li onclick="toggle('pre140358534399040', 'post140358534399040')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534399040', 'post140358534399040')"><pre> break</pre></li>
<li onclick="toggle('pre140358534399040', 'post140358534399040')"><pre></pre></li>
<li onclick="toggle('pre140358534399040', 'post140358534399040')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358534399040', 'post140358534399040')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358534399040', 'post140358534399040')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534399040')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534399040">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358546351024">
<ol start="44" class="pre-context" id="pre140358546351024">
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> )</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> )</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358546351024">
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre></pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358546351024', 'post140358546351024')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546351024')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546351024">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358546351240">
<ol start="66" class="pre-context" id="pre140358546351240">
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre></pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358546351240">
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> )</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> request</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> )</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358546351240', 'post140358546351240')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546351240')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546351240">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358534401128">
<ol start="62" class="pre-context" id="pre140358534401128">
<li onclick="toggle('pre140358534401128', 'post140358534401128')"><pre> """</pre></li>
<li onclick="toggle('pre140358534401128', 'post140358534401128')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358534401128', 'post140358534401128')"><pre> try:</pre></li>
<li onclick="toggle('pre140358534401128', 'post140358534401128')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358534401128', 'post140358534401128')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358534401128', 'post140358534401128')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358534401128', 'post140358534401128')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358534401128', 'post140358534401128')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358534401128">
<li onclick="toggle('pre140358534401128', 'post140358534401128')"><pre> )</pre></li>
<li onclick="toggle('pre140358534401128', 'post140358534401128')"><pre> else:</pre></li>
<li onclick="toggle('pre140358534401128', 'post140358534401128')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358534401128', 'post140358534401128')"><pre></pre></li>
<li onclick="toggle('pre140358534401128', 'post140358534401128')"><pre></pre></li>
<li onclick="toggle('pre140358534401128', 'post140358534401128')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534401128')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534401128">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323355463_common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4331015912930143094.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.22932766450112428.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686071'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=3CNY596W7khvV17thDefBxGnekvGJ-'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58618'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877835509280'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877835509153'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877835508943'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877835509307'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c54a7fa8></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c682ddf0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323355463_common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815; FilePart:object = /tmp/mmp.output.22932766450112428.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4331015912930143094.tmp (1042 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:55 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358563538200">
<ol start="32" class="pre-context" id="pre140358563538200">
<li onclick="toggle('pre140358563538200', 'post140358563538200')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358563538200', 'post140358563538200')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358563538200', 'post140358563538200')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358563538200', 'post140358563538200')"><pre> """</pre></li>
<li onclick="toggle('pre140358563538200', 'post140358563538200')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358563538200', 'post140358563538200')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358563538200', 'post140358563538200')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358563538200', 'post140358563538200')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358563538200">
<li onclick="toggle('pre140358563538200', 'post140358563538200')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358563538200', 'post140358563538200')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358563538200', 'post140358563538200')"><pre> return response</pre></li>
<li onclick="toggle('pre140358563538200', 'post140358563538200')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358563538200', 'post140358563538200')"><pre></pre></li>
<li onclick="toggle('pre140358563538200', 'post140358563538200')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563538200')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563538200">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358563536976">
<ol start="242" class="pre-context" id="pre140358563536976">
<li onclick="toggle('pre140358563536976', 'post140358563536976')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358563536976', 'post140358563536976')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358563536976', 'post140358563536976')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358563536976', 'post140358563536976')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563536976', 'post140358563536976')"><pre> break</pre></li>
<li onclick="toggle('pre140358563536976', 'post140358563536976')"><pre></pre></li>
<li onclick="toggle('pre140358563536976', 'post140358563536976')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358563536976', 'post140358563536976')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358563536976">
<li onclick="toggle('pre140358563536976', 'post140358563536976')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563536976')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563536976">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358564870192">
<ol start="171" class="pre-context" id="pre140358564870192">
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre></pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre></pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358564870192">
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> break</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre></pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564870192')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564870192">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562827008">
<ol start="44" class="pre-context" id="pre140358562827008">
<li onclick="toggle('pre140358562827008', 'post140358562827008')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562827008', 'post140358562827008')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562827008', 'post140358562827008')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562827008', 'post140358562827008')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562827008', 'post140358562827008')"><pre> )</pre></li>
<li onclick="toggle('pre140358562827008', 'post140358562827008')"><pre> )</pre></li>
<li onclick="toggle('pre140358562827008', 'post140358562827008')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562827008', 'post140358562827008')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562827008">
<li onclick="toggle('pre140358562827008', 'post140358562827008')"><pre></pre></li>
<li onclick="toggle('pre140358562827008', 'post140358562827008')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562827008', 'post140358562827008')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562827008', 'post140358562827008')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562827008', 'post140358562827008')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562827008', 'post140358562827008')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562827008')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562827008">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358564882768">
<ol start="66" class="pre-context" id="pre140358564882768">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre></pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358564882768">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> )</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> request</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> )</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564882768')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564882768">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358563540648">
<ol start="62" class="pre-context" id="pre140358563540648">
<li onclick="toggle('pre140358563540648', 'post140358563540648')"><pre> """</pre></li>
<li onclick="toggle('pre140358563540648', 'post140358563540648')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358563540648', 'post140358563540648')"><pre> try:</pre></li>
<li onclick="toggle('pre140358563540648', 'post140358563540648')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358563540648', 'post140358563540648')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358563540648', 'post140358563540648')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358563540648', 'post140358563540648')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358563540648', 'post140358563540648')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358563540648">
<li onclick="toggle('pre140358563540648', 'post140358563540648')"><pre> )</pre></li>
<li onclick="toggle('pre140358563540648', 'post140358563540648')"><pre> else:</pre></li>
<li onclick="toggle('pre140358563540648', 'post140358563540648')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358563540648', 'post140358563540648')"><pre></pre></li>
<li onclick="toggle('pre140358563540648', 'post140358563540648')"><pre></pre></li>
<li onclick="toggle('pre140358563540648', 'post140358563540648')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563540648')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563540648">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323355642_path-ascii-doc-example-10.1000%2F182'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3878229147538458139.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1253445095052084682.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686059'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=BgYy1-TXgX_9xUMqtiKkE5O_NbGj0mYsjvYmF'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58619'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877835684277'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877835684149'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877835683944'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877835684305'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c6474bb8></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c68c71b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323355642_path-ascii-doc-example-10.1000%2F182; FilePart:object = /tmp/mmp.output.1253445095052084682.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3878229147538458139.tmp (1021 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:55 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562281376">
<ol start="32" class="pre-context" id="pre140358562281376">
<li onclick="toggle('pre140358562281376', 'post140358562281376')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562281376', 'post140358562281376')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562281376', 'post140358562281376')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562281376', 'post140358562281376')"><pre> """</pre></li>
<li onclick="toggle('pre140358562281376', 'post140358562281376')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562281376', 'post140358562281376')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562281376', 'post140358562281376')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562281376', 'post140358562281376')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562281376">
<li onclick="toggle('pre140358562281376', 'post140358562281376')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562281376', 'post140358562281376')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562281376', 'post140358562281376')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562281376', 'post140358562281376')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562281376', 'post140358562281376')"><pre></pre></li>
<li onclick="toggle('pre140358562281376', 'post140358562281376')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562281376')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562281376">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562280800">
<ol start="242" class="pre-context" id="pre140358562280800">
<li onclick="toggle('pre140358562280800', 'post140358562280800')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562280800', 'post140358562280800')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562280800', 'post140358562280800')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562280800', 'post140358562280800')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562280800', 'post140358562280800')"><pre> break</pre></li>
<li onclick="toggle('pre140358562280800', 'post140358562280800')"><pre></pre></li>
<li onclick="toggle('pre140358562280800', 'post140358562280800')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562280800', 'post140358562280800')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562280800">
<li onclick="toggle('pre140358562280800', 'post140358562280800')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562280800')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562280800">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358562280728">
<ol start="171" class="pre-context" id="pre140358562280728">
<li onclick="toggle('pre140358562280728', 'post140358562280728')"><pre></pre></li>
<li onclick="toggle('pre140358562280728', 'post140358562280728')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358562280728', 'post140358562280728')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358562280728', 'post140358562280728')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358562280728', 'post140358562280728')"><pre></pre></li>
<li onclick="toggle('pre140358562280728', 'post140358562280728')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358562280728', 'post140358562280728')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358562280728', 'post140358562280728')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358562280728">
<li onclick="toggle('pre140358562280728', 'post140358562280728')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562280728', 'post140358562280728')"><pre> break</pre></li>
<li onclick="toggle('pre140358562280728', 'post140358562280728')"><pre></pre></li>
<li onclick="toggle('pre140358562280728', 'post140358562280728')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358562280728', 'post140358562280728')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358562280728', 'post140358562280728')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562280728')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562280728">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562282600">
<ol start="44" class="pre-context" id="pre140358562282600">
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> )</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> )</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562282600">
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre></pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562282600', 'post140358562282600')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562282600')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562282600">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562281304">
<ol start="66" class="pre-context" id="pre140358562281304">
<li onclick="toggle('pre140358562281304', 'post140358562281304')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562281304', 'post140358562281304')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562281304', 'post140358562281304')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562281304', 'post140358562281304')"><pre></pre></li>
<li onclick="toggle('pre140358562281304', 'post140358562281304')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562281304', 'post140358562281304')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562281304', 'post140358562281304')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562281304', 'post140358562281304')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562281304">
<li onclick="toggle('pre140358562281304', 'post140358562281304')"><pre> )</pre></li>
<li onclick="toggle('pre140358562281304', 'post140358562281304')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562281304', 'post140358562281304')"><pre> request</pre></li>
<li onclick="toggle('pre140358562281304', 'post140358562281304')"><pre> )</pre></li>
<li onclick="toggle('pre140358562281304', 'post140358562281304')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562281304', 'post140358562281304')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562281304')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562281304">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562283104">
<ol start="62" class="pre-context" id="pre140358562283104">
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> """</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562283104">
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> )</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre></pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre></pre></li>
<li onclick="toggle('pre140358562283104', 'post140358562283104')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562283104')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562283104">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323355826_path-ascii-doc-example-http:%2F%2Fexample.com%2Fdata%2Fmydata%3Frow=24'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5414249004128998597.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4468360838030426393.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686111'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=1km4AmEvT-qosgqhZ5zcTrXMQMX2HcH9S'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58620'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877835883826'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877835883687'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877835883481'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877835883855'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c54be468></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7e3fea230></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323355826_path-ascii-doc-example-http:%2F%2Fexample.com%2Fdata%2Fmydata%3Frow=24; FilePart:object = /tmp/mmp.output.4468360838030426393.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5414249004128998597.tmp (1055 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:56 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358563568312">
<ol start="32" class="pre-context" id="pre140358563568312">
<li onclick="toggle('pre140358563568312', 'post140358563568312')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358563568312', 'post140358563568312')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358563568312', 'post140358563568312')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358563568312', 'post140358563568312')"><pre> """</pre></li>
<li onclick="toggle('pre140358563568312', 'post140358563568312')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358563568312', 'post140358563568312')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358563568312', 'post140358563568312')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358563568312', 'post140358563568312')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358563568312">
<li onclick="toggle('pre140358563568312', 'post140358563568312')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358563568312', 'post140358563568312')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358563568312', 'post140358563568312')"><pre> return response</pre></li>
<li onclick="toggle('pre140358563568312', 'post140358563568312')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358563568312', 'post140358563568312')"><pre></pre></li>
<li onclick="toggle('pre140358563568312', 'post140358563568312')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563568312')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563568312">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358563569176">
<ol start="242" class="pre-context" id="pre140358563569176">
<li onclick="toggle('pre140358563569176', 'post140358563569176')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358563569176', 'post140358563569176')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358563569176', 'post140358563569176')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358563569176', 'post140358563569176')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563569176', 'post140358563569176')"><pre> break</pre></li>
<li onclick="toggle('pre140358563569176', 'post140358563569176')"><pre></pre></li>
<li onclick="toggle('pre140358563569176', 'post140358563569176')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358563569176', 'post140358563569176')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358563569176">
<li onclick="toggle('pre140358563569176', 'post140358563569176')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563569176')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563569176">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358563566656">
<ol start="171" class="pre-context" id="pre140358563566656">
<li onclick="toggle('pre140358563566656', 'post140358563566656')"><pre></pre></li>
<li onclick="toggle('pre140358563566656', 'post140358563566656')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358563566656', 'post140358563566656')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358563566656', 'post140358563566656')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358563566656', 'post140358563566656')"><pre></pre></li>
<li onclick="toggle('pre140358563566656', 'post140358563566656')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358563566656', 'post140358563566656')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358563566656', 'post140358563566656')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358563566656">
<li onclick="toggle('pre140358563566656', 'post140358563566656')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563566656', 'post140358563566656')"><pre> break</pre></li>
<li onclick="toggle('pre140358563566656', 'post140358563566656')"><pre></pre></li>
<li onclick="toggle('pre140358563566656', 'post140358563566656')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358563566656', 'post140358563566656')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358563566656', 'post140358563566656')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563566656')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563566656">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358563568672">
<ol start="44" class="pre-context" id="pre140358563568672">
<li onclick="toggle('pre140358563568672', 'post140358563568672')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358563568672', 'post140358563568672')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358563568672', 'post140358563568672')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358563568672', 'post140358563568672')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358563568672', 'post140358563568672')"><pre> )</pre></li>
<li onclick="toggle('pre140358563568672', 'post140358563568672')"><pre> )</pre></li>
<li onclick="toggle('pre140358563568672', 'post140358563568672')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358563568672', 'post140358563568672')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358563568672">
<li onclick="toggle('pre140358563568672', 'post140358563568672')"><pre></pre></li>
<li onclick="toggle('pre140358563568672', 'post140358563568672')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358563568672', 'post140358563568672')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358563568672', 'post140358563568672')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358563568672', 'post140358563568672')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358563568672', 'post140358563568672')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563568672')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563568672">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358563566944">
<ol start="66" class="pre-context" id="pre140358563566944">
<li onclick="toggle('pre140358563566944', 'post140358563566944')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358563566944', 'post140358563566944')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358563566944', 'post140358563566944')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358563566944', 'post140358563566944')"><pre></pre></li>
<li onclick="toggle('pre140358563566944', 'post140358563566944')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358563566944', 'post140358563566944')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358563566944', 'post140358563566944')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358563566944', 'post140358563566944')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358563566944">
<li onclick="toggle('pre140358563566944', 'post140358563566944')"><pre> )</pre></li>
<li onclick="toggle('pre140358563566944', 'post140358563566944')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358563566944', 'post140358563566944')"><pre> request</pre></li>
<li onclick="toggle('pre140358563566944', 'post140358563566944')"><pre> )</pre></li>
<li onclick="toggle('pre140358563566944', 'post140358563566944')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358563566944', 'post140358563566944')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563566944')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563566944">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358563569392">
<ol start="62" class="pre-context" id="pre140358563569392">
<li onclick="toggle('pre140358563569392', 'post140358563569392')"><pre> """</pre></li>
<li onclick="toggle('pre140358563569392', 'post140358563569392')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358563569392', 'post140358563569392')"><pre> try:</pre></li>
<li onclick="toggle('pre140358563569392', 'post140358563569392')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358563569392', 'post140358563569392')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358563569392', 'post140358563569392')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358563569392', 'post140358563569392')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358563569392', 'post140358563569392')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358563569392">
<li onclick="toggle('pre140358563569392', 'post140358563569392')"><pre> )</pre></li>
<li onclick="toggle('pre140358563569392', 'post140358563569392')"><pre> else:</pre></li>
<li onclick="toggle('pre140358563569392', 'post140358563569392')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358563569392', 'post140358563569392')"><pre></pre></li>
<li onclick="toggle('pre140358563569392', 'post140358563569392')"><pre></pre></li>
<li onclick="toggle('pre140358563569392', 'post140358563569392')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563569392')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563569392">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:20171232335680_path-ascii-doc-example-ldap:%2F%2Fldap1.example.net:6666%2Fo=University%2520of%2520Michigan,%20c=US%3F%3Fsub%3F(cn=Babs%2520Jensen)'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8452004030229548647.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4465606519730967891.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686231'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=3X_6SlpthAnOLt-BiSLuwLGCD9oe68Fcl'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58622'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877836126750'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877836126611'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877836126405'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877836126778'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c666a930></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c643c930></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232335680_path-ascii-doc-example-ldap:%2F%2Fldap1.example.net:6666%2Fo=University%2520of%2520Michigan,%20c=US%3F%3Fsub%3F(cn=Babs%2520Jensen); FilePart:object = /tmp/mmp.output.4465606519730967891.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8452004030229548647.tmp (1115 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:56 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358531821512">
<ol start="32" class="pre-context" id="pre140358531821512">
<li onclick="toggle('pre140358531821512', 'post140358531821512')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358531821512', 'post140358531821512')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358531821512', 'post140358531821512')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358531821512', 'post140358531821512')"><pre> """</pre></li>
<li onclick="toggle('pre140358531821512', 'post140358531821512')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358531821512', 'post140358531821512')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358531821512', 'post140358531821512')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358531821512', 'post140358531821512')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358531821512">
<li onclick="toggle('pre140358531821512', 'post140358531821512')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358531821512', 'post140358531821512')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358531821512', 'post140358531821512')"><pre> return response</pre></li>
<li onclick="toggle('pre140358531821512', 'post140358531821512')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358531821512', 'post140358531821512')"><pre></pre></li>
<li onclick="toggle('pre140358531821512', 'post140358531821512')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531821512')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531821512">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358531818920">
<ol start="242" class="pre-context" id="pre140358531818920">
<li onclick="toggle('pre140358531818920', 'post140358531818920')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358531818920', 'post140358531818920')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358531818920', 'post140358531818920')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358531818920', 'post140358531818920')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358531818920', 'post140358531818920')"><pre> break</pre></li>
<li onclick="toggle('pre140358531818920', 'post140358531818920')"><pre></pre></li>
<li onclick="toggle('pre140358531818920', 'post140358531818920')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358531818920', 'post140358531818920')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358531818920">
<li onclick="toggle('pre140358531818920', 'post140358531818920')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531818920')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531818920">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358531819928">
<ol start="171" class="pre-context" id="pre140358531819928">
<li onclick="toggle('pre140358531819928', 'post140358531819928')"><pre></pre></li>
<li onclick="toggle('pre140358531819928', 'post140358531819928')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358531819928', 'post140358531819928')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358531819928', 'post140358531819928')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358531819928', 'post140358531819928')"><pre></pre></li>
<li onclick="toggle('pre140358531819928', 'post140358531819928')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358531819928', 'post140358531819928')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358531819928', 'post140358531819928')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358531819928">
<li onclick="toggle('pre140358531819928', 'post140358531819928')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358531819928', 'post140358531819928')"><pre> break</pre></li>
<li onclick="toggle('pre140358531819928', 'post140358531819928')"><pre></pre></li>
<li onclick="toggle('pre140358531819928', 'post140358531819928')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358531819928', 'post140358531819928')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358531819928', 'post140358531819928')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531819928')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531819928">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358531818560">
<ol start="44" class="pre-context" id="pre140358531818560">
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> )</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> )</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358531818560">
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre></pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531818560')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531818560">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358546259912">
<ol start="66" class="pre-context" id="pre140358546259912">
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre></pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358546259912">
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> )</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> request</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> )</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358546259912', 'post140358546259912')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546259912')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546259912">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358531820936">
<ol start="62" class="pre-context" id="pre140358531820936">
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> """</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> try:</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358531820936">
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> )</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> else:</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre></pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre></pre></li>
<li onclick="toggle('pre140358531820936', 'post140358531820936')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531820936')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531820936">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323356268_common-bmp-doc-example-%E0%B8%89%E0%B8%B1%E0%B8%99%E0%B8%81%E0%B8%B4%E0%B8%99%E0%B8%81%E0%B8%A3%E0%B8%B0%E0%B8%88%E0%B8%81%E0%B9%84%E0%B8%94%E0%B9%89'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.773202214039712082.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.382681734125243489.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686287'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=2HLH6RHbHMyzpUZ-NBR90TPP-AFPmeFoPeqDF7'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58623'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877836309424'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877836309296'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877836309089'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877836309452'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c493d150></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c687f4b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323356268_common-bmp-doc-example-%E0%B8%89%E0%B8%B1%E0%B8%99%E0%B8%81%E0%B8%B4%E0%B8%99%E0%B8%81%E0%B8%A3%E0%B8%B0%E0%B8%88%E0%B8%81%E0%B9%84%E0%B8%94%E0%B9%89; FilePart:object = /tmp/mmp.output.382681734125243489.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.773202214039712082.tmp (1134 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:56 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562714328">
<ol start="32" class="pre-context" id="pre140358562714328">
<li onclick="toggle('pre140358562714328', 'post140358562714328')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562714328', 'post140358562714328')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562714328', 'post140358562714328')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562714328', 'post140358562714328')"><pre> """</pre></li>
<li onclick="toggle('pre140358562714328', 'post140358562714328')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562714328', 'post140358562714328')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562714328', 'post140358562714328')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562714328', 'post140358562714328')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562714328">
<li onclick="toggle('pre140358562714328', 'post140358562714328')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562714328', 'post140358562714328')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562714328', 'post140358562714328')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562714328', 'post140358562714328')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562714328', 'post140358562714328')"><pre></pre></li>
<li onclick="toggle('pre140358562714328', 'post140358562714328')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562714328')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562714328">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562715768">
<ol start="242" class="pre-context" id="pre140358562715768">
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> break</pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre></pre></li>
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562715768">
<li onclick="toggle('pre140358562715768', 'post140358562715768')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562715768')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562715768">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358562412952">
<ol start="171" class="pre-context" id="pre140358562412952">
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre></pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre></pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358562412952">
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> break</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre></pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358562412952', 'post140358562412952')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562412952')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562412952">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562413888">
<ol start="44" class="pre-context" id="pre140358562413888">
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> )</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> )</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562413888">
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre></pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562413888', 'post140358562413888')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562413888')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562413888">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562413456">
<ol start="66" class="pre-context" id="pre140358562413456">
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre></pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562413456">
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> )</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> request</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> )</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562413456', 'post140358562413456')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562413456')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562413456">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562716200">
<ol start="62" class="pre-context" id="pre140358562716200">
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> """</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562716200">
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> )</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre></pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre></pre></li>
<li onclick="toggle('pre140358562716200', 'post140358562716200')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562716200')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562716200">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testMNodeTier3:201712323356466_common-bmp-doc-example-Is_f%C3%A9idir_liom_ithe_gloine'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6248364806188207031.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8145074467771462801.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686091'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=EyvTJWL0YDwgDFlnosjwOQFPiMUCpN5UjpJX'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58624'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877836523692'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877836523561'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877836523352'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877836523719'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c656bd20></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c643c770></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323356466_common-bmp-doc-example-Is_f%C3%A9idir_liom_ithe_gloine; FilePart:object = /tmp/mmp.output.8145074467771462801.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6248364806188207031.tmp (1039 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323356735_common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ; FilePart:object = /tmp/mmp.output.4647015519820499606.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1394481105613659514.tmp (1037 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323357366_common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz; FilePart:object = /tmp/mmp.output.3299742883750305158.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8562287072405346577.tmp (1037 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323357742_common-unicode-ascii-safe-0123456789; FilePart:object = /tmp/mmp.output.645598945274173604.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.997771371275824469.tmp (1021 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323358118_common-unicode-ascii-safe-:@$-_.!*()',~; FilePart:object = /tmp/mmp.output.3434968241133719030.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5077325699736088398.tmp (1024 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323358474_common-unicode-ascii-safe-unreserved-._~; FilePart:object = /tmp/mmp.output.1130065487852831764.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7188973357363830632.tmp (1025 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323358847_common-unicode-ascii-safe-sub-delims-$!*()',; FilePart:object = /tmp/mmp.output.9094065631710795802.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8105836519626292503.tmp (1029 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323359221_common-unicode-ascii-safe-gen-delims-:@; FilePart:object = /tmp/mmp.output.2840541501493472553.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4344133119877650629.tmp (1024 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323359594_common-unicode-ascii-escaped-%22%23%3C%3E%5B%5D%5E%60%7B%7D%7C; FilePart:object = /tmp/mmp.output.1123734667426510554.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7313861026947345073.tmp (1047 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201712323359949_common-unicode-ascii-escaped-tomcatBlocked-%5C; FilePart:object = /tmp/mmp.output.230735233940670549.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2621627424367560783.tmp (1031 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232340300_common-unicode-ascii-escaped-tomcatBlocked-%255C; FilePart:object = /tmp/mmp.output.8397412214113394902.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4178175446442060824.tmp (1032 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232340635_common-unicode-ascii-semi-colon-test-%253B; FilePart:object = /tmp/mmp.output.8675556077353520490.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8059145529494716892.tmp (1026 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232340930_common-unicode-ascii-escaped-%25; FilePart:object = /tmp/mmp.output.7353262816580167365.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5613692403568336229.tmp (1016 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232341227_common-unicode-ascii-escaped-space%20x%20x; FilePart:object = /tmp/mmp.output.7046722789217792661.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5204427452051426247.tmp (1026 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232341581_common-unicode-ascii-escape-anyway-%2B; FilePart:object = /tmp/mmp.output.2321925215197148291.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7087655503534066241.tmp (1022 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232341931_common-unicode-ascii-escape-space-v-plus-%2B%20%2B%2520%20%2520%2B; FilePart:object = /tmp/mmp.output.7467637640488611181.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1673144706822858557.tmp (1050 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232342307_path-unicode-ascii-safe-&=&=; FilePart:object = /tmp/mmp.output.8401452017710210228.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2870832895564283675.tmp (1020 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232342686_path-unicode-ascii-escaped-%3B; FilePart:object = /tmp/mmp.output.1213322549784566459.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7339506541797596231.tmp (1014 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:2017123234376_path-unicode-ascii-escaped-%3F; FilePart:object = /tmp/mmp.output.6359519546722852913.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1470341639240270961.tmp (1013 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232343425_path-unicode-ascii-escaped-%2F; FilePart:object = /tmp/mmp.output.4137089036023419936.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6146746472619015239.tmp (1014 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232343766_path-unicode-ascii-escaped-%253F; FilePart:object = /tmp/mmp.output.2120677462135969144.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5610344697654854425.tmp (1016 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232344117_path-unicode-ascii-escaped-%252F; FilePart:object = /tmp/mmp.output.4059117192228602021.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.889111839383680844.tmp (1016 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232344442_path-unicode-ascii-escaped-double-%2F%2Fcase; FilePart:object = /tmp/mmp.output.5815957237231180393.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4629442170114478380.tmp (1028 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232344839_path-unicode-ascii-escaped-double-trailing%2F%2F; FilePart:object = /tmp/mmp.output.7598405404954365094.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.9161714749545266641.tmp (1032 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232345209_path-unicode-ascii-escaped-double-%252F%252Fcase; FilePart:object = /tmp/mmp.output.6293470411830330255.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.724476341461588813.tmp (1032 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232345571_path-unicode-ascii-escaped-double-trailing%252F%252F; FilePart:object = /tmp/mmp.output.4003235050081100410.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5403437892221534141.tmp (1036 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232345944_common-unicode-bmp-1byte-escaped-%C2%A1%C2%A2%C2%A3; FilePart:object = /tmp/mmp.output.954041065511773122.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2636435719871781397.tmp (1035 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232346308_common-unicode-bmp-2byte-escaped-%E4%A6%B9%E4%A6%BA; FilePart:object = /tmp/mmp.output.6898957388421658388.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4953059050584510384.tmp (1035 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232346649_common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815; FilePart:object = /tmp/mmp.output.2899617794536077119.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.9022891947633572789.tmp (1041 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232346989_path-ascii-doc-example-10.1000%2F182; FilePart:object = /tmp/mmp.output.3148316651622616727.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6919139326910273439.tmp (1020 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232347329_path-ascii-doc-example-http:%2F%2Fexample.com%2Fdata%2Fmydata%3Frow=24; FilePart:object = /tmp/mmp.output.6106694149178758972.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8328706713964334204.tmp (1054 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232347672_path-ascii-doc-example-ldap:%2F%2Fldap1.example.net:6666%2Fo=University%2520of%2520Michigan,%20c=US%3F%3Fsub%3F(cn=Babs%2520Jensen); FilePart:object = /tmp/mmp.output.8807336753425903606.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2474602623837559411.tmp (1115 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:2017123234849_common-bmp-doc-example-%E0%B8%89%E0%B8%B1%E0%B8%99%E0%B8%81%E0%B8%B4%E0%B8%99%E0%B8%81%E0%B8%A3%E0%B8%B0%E0%B8%88%E0%B8%81%E0%B9%84%E0%B8%94%E0%B9%89; FilePart:object = /tmp/mmp.output.7084129123996004996.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1370160869864750384.tmp (1132 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20171232348421_common-bmp-doc-example-Is_f%C3%A9idir_liom_ithe_gloine; FilePart:object = /tmp/mmp.output.991176899349655069.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2983954834299334366.tmp (1038 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:46 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758132984">
<ol start="32" class="pre-context" id="pre139742758132984">
<li onclick="toggle('pre139742758132984', 'post139742758132984')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758132984', 'post139742758132984')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758132984', 'post139742758132984')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758132984', 'post139742758132984')"><pre> """</pre></li>
<li onclick="toggle('pre139742758132984', 'post139742758132984')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758132984', 'post139742758132984')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758132984', 'post139742758132984')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758132984', 'post139742758132984')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758132984">
<li onclick="toggle('pre139742758132984', 'post139742758132984')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758132984', 'post139742758132984')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758132984', 'post139742758132984')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758132984', 'post139742758132984')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758132984', 'post139742758132984')"><pre></pre></li>
<li onclick="toggle('pre139742758132984', 'post139742758132984')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758132984')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758132984">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742757839144">
<ol start="242" class="pre-context" id="pre139742757839144">
<li onclick="toggle('pre139742757839144', 'post139742757839144')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742757839144', 'post139742757839144')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742757839144', 'post139742757839144')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742757839144', 'post139742757839144')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742757839144', 'post139742757839144')"><pre> break</pre></li>
<li onclick="toggle('pre139742757839144', 'post139742757839144')"><pre></pre></li>
<li onclick="toggle('pre139742757839144', 'post139742757839144')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742757839144', 'post139742757839144')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742757839144">
<li onclick="toggle('pre139742757839144', 'post139742757839144')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757839144')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757839144">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758363936">
<ol start="171" class="pre-context" id="pre139742758363936">
<li onclick="toggle('pre139742758363936', 'post139742758363936')"><pre></pre></li>
<li onclick="toggle('pre139742758363936', 'post139742758363936')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758363936', 'post139742758363936')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758363936', 'post139742758363936')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758363936', 'post139742758363936')"><pre></pre></li>
<li onclick="toggle('pre139742758363936', 'post139742758363936')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758363936', 'post139742758363936')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758363936', 'post139742758363936')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758363936">
<li onclick="toggle('pre139742758363936', 'post139742758363936')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758363936', 'post139742758363936')"><pre> break</pre></li>
<li onclick="toggle('pre139742758363936', 'post139742758363936')"><pre></pre></li>
<li onclick="toggle('pre139742758363936', 'post139742758363936')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758363936', 'post139742758363936')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758363936', 'post139742758363936')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758363936')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758363936">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742761839072">
<ol start="39" class="pre-context" id="pre139742761839072">
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> )</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> )</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742761839072">
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre></pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742761839072', 'post139742761839072')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761839072')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761839072">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742761836624">
<ol start="60" class="pre-context" id="pre139742761836624">
<li onclick="toggle('pre139742761836624', 'post139742761836624')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742761836624', 'post139742761836624')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742761836624', 'post139742761836624')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742761836624', 'post139742761836624')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742761836624', 'post139742761836624')"><pre></pre></li>
<li onclick="toggle('pre139742761836624', 'post139742761836624')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742761836624', 'post139742761836624')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742761836624', 'post139742761836624')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742761836624">
<li onclick="toggle('pre139742761836624', 'post139742761836624')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742761836624', 'post139742761836624')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742761836624', 'post139742761836624')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742761836624', 'post139742761836624')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742761836624', 'post139742761836624')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742761836624', 'post139742761836624')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761836624')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761836624">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742761828648">
<ol start="58" class="pre-context" id="pre139742761828648">
<li onclick="toggle('pre139742761828648', 'post139742761828648')"><pre> """</pre></li>
<li onclick="toggle('pre139742761828648', 'post139742761828648')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742761828648', 'post139742761828648')"><pre> try:</pre></li>
<li onclick="toggle('pre139742761828648', 'post139742761828648')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742761828648', 'post139742761828648')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742761828648', 'post139742761828648')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742761828648', 'post139742761828648')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742761828648', 'post139742761828648')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742761828648">
<li onclick="toggle('pre139742761828648', 'post139742761828648')"><pre> )</pre></li>
<li onclick="toggle('pre139742761828648', 'post139742761828648')"><pre> else:</pre></li>
<li onclick="toggle('pre139742761828648', 'post139742761828648')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742761828648', 'post139742761828648')"><pre></pre></li>
<li onclick="toggle('pre139742761828648', 'post139742761828648')"><pre></pre></li>
<li onclick="toggle('pre139742761828648', 'post139742761828648')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761828648')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761828648">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdate_201712323418505'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5899226035493666487.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6620950524149874021.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18898'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=CXUwr5HaFz7hGxIG2x2FH-jOJXmK_o0qC'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57157'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877826070711'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1865817470></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186579aab0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:433)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:380)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletedByInfo(MNStorageV2IT.java:89)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:433)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:380)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletedByInfo(MNStorageV2IT.java:89)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object/testUpdate_201712323419213<br />
does not allow request data with PUT requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host PUT https://test.arcticdata.io/metacat/d1/mn/v2/object/testUpdate_201712323419213; MMP message has: ParamPart:newPid = mNodeTier3TestUpdate201712323421911; FilePart:object = /tmp/mmp.output.1289141140104672513.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2628019340779772372.tmp (1073 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:427)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:380)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletedByInfo(MNStorageV2IT.java:89)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:433)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:380)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletedByInfo(MNStorageV2IT.java:89)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:433)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:380)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletedByInfo(MNStorageV2IT.java:89)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:04:23 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562473096">
<ol start="32" class="pre-context" id="pre140358562473096">
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> """</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562473096">
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre></pre></li>
<li onclick="toggle('pre140358562473096', 'post140358562473096')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562473096')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562473096">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562473960">
<ol start="242" class="pre-context" id="pre140358562473960">
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> break</pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre></pre></li>
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562473960">
<li onclick="toggle('pre140358562473960', 'post140358562473960')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562473960')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562473960">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358562472664">
<ol start="171" class="pre-context" id="pre140358562472664">
<li onclick="toggle('pre140358562472664', 'post140358562472664')"><pre></pre></li>
<li onclick="toggle('pre140358562472664', 'post140358562472664')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358562472664', 'post140358562472664')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358562472664', 'post140358562472664')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358562472664', 'post140358562472664')"><pre></pre></li>
<li onclick="toggle('pre140358562472664', 'post140358562472664')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358562472664', 'post140358562472664')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358562472664', 'post140358562472664')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358562472664">
<li onclick="toggle('pre140358562472664', 'post140358562472664')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562472664', 'post140358562472664')"><pre> break</pre></li>
<li onclick="toggle('pre140358562472664', 'post140358562472664')"><pre></pre></li>
<li onclick="toggle('pre140358562472664', 'post140358562472664')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358562472664', 'post140358562472664')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358562472664', 'post140358562472664')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562472664')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562472664">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358564882768">
<ol start="44" class="pre-context" id="pre140358564882768">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> )</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> )</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358564882768">
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre></pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358564882768', 'post140358564882768')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564882768')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564882768">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358564870192">
<ol start="66" class="pre-context" id="pre140358564870192">
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre></pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358564870192">
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> )</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> request</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> )</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358564870192', 'post140358564870192')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564870192')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564870192">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562472232">
<ol start="62" class="pre-context" id="pre140358562472232">
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> """</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562472232">
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> )</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre></pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre></pre></li>
<li onclick="toggle('pre140358562472232', 'post140358562472232')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562472232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562472232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdate_201712323422843'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2619380843703950284.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8978393529958066965.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18924'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=PniVH_gDWVkSNW6H0-es0mmScrI3vvE1hu_DQjMc'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58753'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877863050348'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877863050115'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877863049768'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877863050424'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c640fd20></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c6473830></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:433)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:380)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletedByInfo(MNStorageV2IT.java:89)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:433)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:380)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletedByInfo(MNStorageV2IT.java:89)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:03:56 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758279432">
<ol start="32" class="pre-context" id="pre139742758279432">
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> """</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758279432">
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre></pre></li>
<li onclick="toggle('pre139742758279432', 'post139742758279432')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758279432')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758279432">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742761828080">
<ol start="242" class="pre-context" id="pre139742761828080">
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> break</pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre></pre></li>
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742761828080">
<li onclick="toggle('pre139742761828080', 'post139742761828080')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761828080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761828080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758248600">
<ol start="171" class="pre-context" id="pre139742758248600">
<li onclick="toggle('pre139742758248600', 'post139742758248600')"><pre></pre></li>
<li onclick="toggle('pre139742758248600', 'post139742758248600')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758248600', 'post139742758248600')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758248600', 'post139742758248600')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758248600', 'post139742758248600')"><pre></pre></li>
<li onclick="toggle('pre139742758248600', 'post139742758248600')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758248600', 'post139742758248600')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758248600', 'post139742758248600')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758248600">
<li onclick="toggle('pre139742758248600', 'post139742758248600')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758248600', 'post139742758248600')"><pre> break</pre></li>
<li onclick="toggle('pre139742758248600', 'post139742758248600')"><pre></pre></li>
<li onclick="toggle('pre139742758248600', 'post139742758248600')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758248600', 'post139742758248600')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758248600', 'post139742758248600')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758248600')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758248600">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758249176">
<ol start="39" class="pre-context" id="pre139742758249176">
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> )</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> )</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758249176">
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre></pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758249176', 'post139742758249176')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758249176')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758249176">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758250400">
<ol start="60" class="pre-context" id="pre139742758250400">
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre></pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758250400">
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758250400', 'post139742758250400')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758250400')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758250400">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758280872">
<ol start="58" class="pre-context" id="pre139742758280872">
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> """</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758280872">
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> )</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre></pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre></pre></li>
<li onclick="toggle('pre139742758280872', 'post139742758280872')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758280872')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758280872">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdate_201712323430469'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.325099193141333924.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7781378321804416555.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18913'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=J2IPcKehaUvE6UB7cDyOj0hP0yAmvDb60Tbf3'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57202'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877836639220'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18656d3eb0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18656d3df0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:492)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:442)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletesInfo(MNStorageV2IT.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:492)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:442)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletesInfo(MNStorageV2IT.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object/testUpdate_201712323430971<br />
does not allow request data with PUT requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host PUT https://test.arcticdata.io/metacat/d1/mn/v2/object/testUpdate_201712323430971; MMP message has: ParamPart:newPid = testUpdate_badObsoletesInfo_201712323433602; FilePart:object = /tmp/mmp.output.3141138110106130179.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7163754688259099569.tmp (1058 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:486)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:442)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletesInfo(MNStorageV2IT.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:492)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:442)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletesInfo(MNStorageV2IT.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:492)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:442)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletesInfo(MNStorageV2IT.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:04:34 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562287272">
<ol start="32" class="pre-context" id="pre140358562287272">
<li onclick="toggle('pre140358562287272', 'post140358562287272')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562287272', 'post140358562287272')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562287272', 'post140358562287272')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562287272', 'post140358562287272')"><pre> """</pre></li>
<li onclick="toggle('pre140358562287272', 'post140358562287272')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562287272', 'post140358562287272')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562287272', 'post140358562287272')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562287272', 'post140358562287272')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562287272">
<li onclick="toggle('pre140358562287272', 'post140358562287272')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562287272', 'post140358562287272')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562287272', 'post140358562287272')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562287272', 'post140358562287272')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562287272', 'post140358562287272')"><pre></pre></li>
<li onclick="toggle('pre140358562287272', 'post140358562287272')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562287272')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562287272">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358531807424">
<ol start="242" class="pre-context" id="pre140358531807424">
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> break</pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre></pre></li>
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358531807424">
<li onclick="toggle('pre140358531807424', 'post140358531807424')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531807424')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531807424">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358567987968">
<ol start="171" class="pre-context" id="pre140358567987968">
<li onclick="toggle('pre140358567987968', 'post140358567987968')"><pre></pre></li>
<li onclick="toggle('pre140358567987968', 'post140358567987968')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358567987968', 'post140358567987968')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358567987968', 'post140358567987968')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358567987968', 'post140358567987968')"><pre></pre></li>
<li onclick="toggle('pre140358567987968', 'post140358567987968')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358567987968', 'post140358567987968')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358567987968', 'post140358567987968')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358567987968">
<li onclick="toggle('pre140358567987968', 'post140358567987968')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358567987968', 'post140358567987968')"><pre> break</pre></li>
<li onclick="toggle('pre140358567987968', 'post140358567987968')"><pre></pre></li>
<li onclick="toggle('pre140358567987968', 'post140358567987968')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358567987968', 'post140358567987968')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358567987968', 'post140358567987968')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358567987968')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358567987968">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358567988112">
<ol start="44" class="pre-context" id="pre140358567988112">
<li onclick="toggle('pre140358567988112', 'post140358567988112')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358567988112', 'post140358567988112')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358567988112', 'post140358567988112')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358567988112', 'post140358567988112')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358567988112', 'post140358567988112')"><pre> )</pre></li>
<li onclick="toggle('pre140358567988112', 'post140358567988112')"><pre> )</pre></li>
<li onclick="toggle('pre140358567988112', 'post140358567988112')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358567988112', 'post140358567988112')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358567988112">
<li onclick="toggle('pre140358567988112', 'post140358567988112')"><pre></pre></li>
<li onclick="toggle('pre140358567988112', 'post140358567988112')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358567988112', 'post140358567988112')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358567988112', 'post140358567988112')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358567988112', 'post140358567988112')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358567988112', 'post140358567988112')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358567988112')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358567988112">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358567988832">
<ol start="66" class="pre-context" id="pre140358567988832">
<li onclick="toggle('pre140358567988832', 'post140358567988832')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358567988832', 'post140358567988832')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358567988832', 'post140358567988832')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358567988832', 'post140358567988832')"><pre></pre></li>
<li onclick="toggle('pre140358567988832', 'post140358567988832')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358567988832', 'post140358567988832')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358567988832', 'post140358567988832')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358567988832', 'post140358567988832')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358567988832">
<li onclick="toggle('pre140358567988832', 'post140358567988832')"><pre> )</pre></li>
<li onclick="toggle('pre140358567988832', 'post140358567988832')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358567988832', 'post140358567988832')"><pre> request</pre></li>
<li onclick="toggle('pre140358567988832', 'post140358567988832')"><pre> )</pre></li>
<li onclick="toggle('pre140358567988832', 'post140358567988832')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358567988832', 'post140358567988832')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358567988832')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358567988832">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562285832">
<ol start="62" class="pre-context" id="pre140358562285832">
<li onclick="toggle('pre140358562285832', 'post140358562285832')"><pre> """</pre></li>
<li onclick="toggle('pre140358562285832', 'post140358562285832')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562285832', 'post140358562285832')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562285832', 'post140358562285832')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562285832', 'post140358562285832')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562285832', 'post140358562285832')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562285832', 'post140358562285832')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562285832', 'post140358562285832')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562285832">
<li onclick="toggle('pre140358562285832', 'post140358562285832')"><pre> )</pre></li>
<li onclick="toggle('pre140358562285832', 'post140358562285832')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562285832', 'post140358562285832')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562285832', 'post140358562285832')"><pre></pre></li>
<li onclick="toggle('pre140358562285832', 'post140358562285832')"><pre></pre></li>
<li onclick="toggle('pre140358562285832', 'post140358562285832')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562285832')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562285832">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdate_201712323434530'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1205278822604589243.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4094947949206769271.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18912'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=YIJIVx-FAs_OmsnLtzWMHlVom7OOrxbtj48sk'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58796'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877874589715'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877874589584'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877874589373'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877874589746'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c54be390></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c73d9f30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:492)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:442)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletesInfo(MNStorageV2IT.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:492)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:442)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletesInfo(MNStorageV2IT.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Exception while setting up test (callAdapter.create): ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:04:05 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742737483824">
<ol start="32" class="pre-context" id="pre139742737483824">
<li onclick="toggle('pre139742737483824', 'post139742737483824')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742737483824', 'post139742737483824')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742737483824', 'post139742737483824')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742737483824', 'post139742737483824')"><pre> """</pre></li>
<li onclick="toggle('pre139742737483824', 'post139742737483824')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742737483824', 'post139742737483824')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742737483824', 'post139742737483824')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742737483824', 'post139742737483824')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742737483824">
<li onclick="toggle('pre139742737483824', 'post139742737483824')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742737483824', 'post139742737483824')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742737483824', 'post139742737483824')"><pre> return response</pre></li>
<li onclick="toggle('pre139742737483824', 'post139742737483824')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742737483824', 'post139742737483824')"><pre></pre></li>
<li onclick="toggle('pre139742737483824', 'post139742737483824')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737483824')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737483824">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742737527368">
<ol start="242" class="pre-context" id="pre139742737527368">
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> break</pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre></pre></li>
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742737527368">
<li onclick="toggle('pre139742737527368', 'post139742737527368')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737527368')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737527368">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742737548496">
<ol start="171" class="pre-context" id="pre139742737548496">
<li onclick="toggle('pre139742737548496', 'post139742737548496')"><pre></pre></li>
<li onclick="toggle('pre139742737548496', 'post139742737548496')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742737548496', 'post139742737548496')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742737548496', 'post139742737548496')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742737548496', 'post139742737548496')"><pre></pre></li>
<li onclick="toggle('pre139742737548496', 'post139742737548496')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742737548496', 'post139742737548496')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742737548496', 'post139742737548496')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742737548496">
<li onclick="toggle('pre139742737548496', 'post139742737548496')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742737548496', 'post139742737548496')"><pre> break</pre></li>
<li onclick="toggle('pre139742737548496', 'post139742737548496')"><pre></pre></li>
<li onclick="toggle('pre139742737548496', 'post139742737548496')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742737548496', 'post139742737548496')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742737548496', 'post139742737548496')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737548496')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737548496">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742737549432">
<ol start="39" class="pre-context" id="pre139742737549432">
<li onclick="toggle('pre139742737549432', 'post139742737549432')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742737549432', 'post139742737549432')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742737549432', 'post139742737549432')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742737549432', 'post139742737549432')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742737549432', 'post139742737549432')"><pre> )</pre></li>
<li onclick="toggle('pre139742737549432', 'post139742737549432')"><pre> )</pre></li>
<li onclick="toggle('pre139742737549432', 'post139742737549432')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742737549432', 'post139742737549432')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742737549432">
<li onclick="toggle('pre139742737549432', 'post139742737549432')"><pre></pre></li>
<li onclick="toggle('pre139742737549432', 'post139742737549432')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742737549432', 'post139742737549432')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742737549432', 'post139742737549432')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742737549432', 'post139742737549432')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742737549432', 'post139742737549432')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737549432')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737549432">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742735477648">
<ol start="60" class="pre-context" id="pre139742735477648">
<li onclick="toggle('pre139742735477648', 'post139742735477648')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742735477648', 'post139742735477648')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742735477648', 'post139742735477648')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742735477648', 'post139742735477648')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742735477648', 'post139742735477648')"><pre></pre></li>
<li onclick="toggle('pre139742735477648', 'post139742735477648')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742735477648', 'post139742735477648')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742735477648', 'post139742735477648')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742735477648">
<li onclick="toggle('pre139742735477648', 'post139742735477648')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742735477648', 'post139742735477648')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742735477648', 'post139742735477648')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742735477648', 'post139742735477648')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742735477648', 'post139742735477648')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742735477648', 'post139742735477648')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735477648')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735477648">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742753445288">
<ol start="58" class="pre-context" id="pre139742753445288">
<li onclick="toggle('pre139742753445288', 'post139742753445288')"><pre> """</pre></li>
<li onclick="toggle('pre139742753445288', 'post139742753445288')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742753445288', 'post139742753445288')"><pre> try:</pre></li>
<li onclick="toggle('pre139742753445288', 'post139742753445288')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742753445288', 'post139742753445288')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742753445288', 'post139742753445288')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742753445288', 'post139742753445288')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742753445288', 'post139742753445288')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742753445288">
<li onclick="toggle('pre139742753445288', 'post139742753445288')"><pre> )</pre></li>
<li onclick="toggle('pre139742753445288', 'post139742753445288')"><pre> else:</pre></li>
<li onclick="toggle('pre139742753445288', 'post139742753445288')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742753445288', 'post139742753445288')"><pre></pre></li>
<li onclick="toggle('pre139742753445288', 'post139742753445288')"><pre></pre></li>
<li onclick="toggle('pre139742753445288', 'post139742753445288')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742753445288')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742753445288">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'mNodeTier3TestUpdate201712323439898'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3548180750412718741.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5561439733649342059.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'685967'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=u3VJJTaHfc_5-p9WcJHVuWwUtOFMr9'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57238'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877845116131'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18655f64b0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865587eb0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate201712323439898; FilePart:object = /tmp/mmp.output.5561439733649342059.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3548180750412718741.tmp (989 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:558)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:502)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoCert(MNStorageV2IT.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Exception while setting up test (callAdapter.create): InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate20171232344086; FilePart:object = /tmp/mmp.output.4116152881709427998.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.566894009633928752.tmp (988 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:558)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:502)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoCert(MNStorageV2IT.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Exception while setting up test (callAdapter.create): ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate201712323440980; FilePart:object = /tmp/mmp.output.8118847188069666159.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8374213189755711359.tmp (989 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:558)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:502)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoCert(MNStorageV2IT.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Exception while setting up test (callAdapter.create): InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate201712323441249; FilePart:object = /tmp/mmp.output.822451532352989049.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7476843215014818183.tmp (989 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:558)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:502)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoCert(MNStorageV2IT.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Exception while setting up test (callAdapter.create): ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate201712323442821; FilePart:object = /tmp/mmp.output.219236413824192533.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3151147698763606341.tmp (989 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:558)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:502)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoCert(MNStorageV2IT.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Exception while setting up test (callAdapter.create): ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:04:43 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562714040">
<ol start="32" class="pre-context" id="pre140358562714040">
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> """</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562714040">
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre></pre></li>
<li onclick="toggle('pre140358562714040', 'post140358562714040')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562714040')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562714040">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562715264">
<ol start="242" class="pre-context" id="pre140358562715264">
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> break</pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre></pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562715264">
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562715264')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562715264">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358562715552">
<ol start="171" class="pre-context" id="pre140358562715552">
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre></pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre></pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358562715552">
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> break</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre></pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562715552')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562715552">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562715120">
<ol start="44" class="pre-context" id="pre140358562715120">
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> )</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> )</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562715120">
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre></pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562715120', 'post140358562715120')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562715120')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562715120">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562715192">
<ol start="66" class="pre-context" id="pre140358562715192">
<li onclick="toggle('pre140358562715192', 'post140358562715192')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562715192', 'post140358562715192')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562715192', 'post140358562715192')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562715192', 'post140358562715192')"><pre></pre></li>
<li onclick="toggle('pre140358562715192', 'post140358562715192')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562715192', 'post140358562715192')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562715192', 'post140358562715192')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562715192', 'post140358562715192')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562715192">
<li onclick="toggle('pre140358562715192', 'post140358562715192')"><pre> )</pre></li>
<li onclick="toggle('pre140358562715192', 'post140358562715192')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562715192', 'post140358562715192')"><pre> request</pre></li>
<li onclick="toggle('pre140358562715192', 'post140358562715192')"><pre> )</pre></li>
<li onclick="toggle('pre140358562715192', 'post140358562715192')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562715192', 'post140358562715192')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562715192')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562715192">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562714832">
<ol start="62" class="pre-context" id="pre140358562714832">
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> """</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562714832">
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> )</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre></pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre></pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562714832')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562714832">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'mNodeTier3TestUpdate201712323443538'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5403255538820442230.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3010669741337912510.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686003'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=fa8XrvUkfbPXzYpc8UNGmmjctCikjQoVapRM5Te'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58830'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877883594685'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877883594550'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877883594336'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877883594714'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c54a7fa8></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c698ec70></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate201712323443538; FilePart:object = /tmp/mmp.output.3010669741337912510.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5403255538820442230.tmp (989 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:558)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:502)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoCert(MNStorageV2IT.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Exception while setting up test (callAdapter.create): ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate201712323443745; FilePart:object = /tmp/mmp.output.7882041707668286075.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2344933742099171933.tmp (989 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:558)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:502)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoCert(MNStorageV2IT.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:04:16 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742757206856">
<ol start="32" class="pre-context" id="pre139742757206856">
<li onclick="toggle('pre139742757206856', 'post139742757206856')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742757206856', 'post139742757206856')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742757206856', 'post139742757206856')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742757206856', 'post139742757206856')"><pre> """</pre></li>
<li onclick="toggle('pre139742757206856', 'post139742757206856')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742757206856', 'post139742757206856')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742757206856', 'post139742757206856')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742757206856', 'post139742757206856')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742757206856">
<li onclick="toggle('pre139742757206856', 'post139742757206856')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742757206856', 'post139742757206856')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742757206856', 'post139742757206856')"><pre> return response</pre></li>
<li onclick="toggle('pre139742757206856', 'post139742757206856')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742757206856', 'post139742757206856')"><pre></pre></li>
<li onclick="toggle('pre139742757206856', 'post139742757206856')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757206856')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757206856">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742735477288">
<ol start="242" class="pre-context" id="pre139742735477288">
<li onclick="toggle('pre139742735477288', 'post139742735477288')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742735477288', 'post139742735477288')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742735477288', 'post139742735477288')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742735477288', 'post139742735477288')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742735477288', 'post139742735477288')"><pre> break</pre></li>
<li onclick="toggle('pre139742735477288', 'post139742735477288')"><pre></pre></li>
<li onclick="toggle('pre139742735477288', 'post139742735477288')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742735477288', 'post139742735477288')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742735477288">
<li onclick="toggle('pre139742735477288', 'post139742735477288')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735477288')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735477288">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742756123280">
<ol start="171" class="pre-context" id="pre139742756123280">
<li onclick="toggle('pre139742756123280', 'post139742756123280')"><pre></pre></li>
<li onclick="toggle('pre139742756123280', 'post139742756123280')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742756123280', 'post139742756123280')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742756123280', 'post139742756123280')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742756123280', 'post139742756123280')"><pre></pre></li>
<li onclick="toggle('pre139742756123280', 'post139742756123280')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742756123280', 'post139742756123280')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742756123280', 'post139742756123280')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742756123280">
<li onclick="toggle('pre139742756123280', 'post139742756123280')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742756123280', 'post139742756123280')"><pre> break</pre></li>
<li onclick="toggle('pre139742756123280', 'post139742756123280')"><pre></pre></li>
<li onclick="toggle('pre139742756123280', 'post139742756123280')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742756123280', 'post139742756123280')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742756123280', 'post139742756123280')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742756123280')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742756123280">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742737546272">
<ol start="39" class="pre-context" id="pre139742737546272">
<li onclick="toggle('pre139742737546272', 'post139742737546272')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742737546272', 'post139742737546272')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742737546272', 'post139742737546272')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742737546272', 'post139742737546272')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742737546272', 'post139742737546272')"><pre> )</pre></li>
<li onclick="toggle('pre139742737546272', 'post139742737546272')"><pre> )</pre></li>
<li onclick="toggle('pre139742737546272', 'post139742737546272')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742737546272', 'post139742737546272')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742737546272">
<li onclick="toggle('pre139742737546272', 'post139742737546272')"><pre></pre></li>
<li onclick="toggle('pre139742737546272', 'post139742737546272')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742737546272', 'post139742737546272')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742737546272', 'post139742737546272')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742737546272', 'post139742737546272')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742737546272', 'post139742737546272')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737546272')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737546272">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742737545840">
<ol start="60" class="pre-context" id="pre139742737545840">
<li onclick="toggle('pre139742737545840', 'post139742737545840')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742737545840', 'post139742737545840')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742737545840', 'post139742737545840')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742737545840', 'post139742737545840')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742737545840', 'post139742737545840')"><pre></pre></li>
<li onclick="toggle('pre139742737545840', 'post139742737545840')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742737545840', 'post139742737545840')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742737545840', 'post139742737545840')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742737545840">
<li onclick="toggle('pre139742737545840', 'post139742737545840')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742737545840', 'post139742737545840')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742737545840', 'post139742737545840')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742737545840', 'post139742737545840')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742737545840', 'post139742737545840')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742737545840', 'post139742737545840')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737545840')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737545840">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742737484904">
<ol start="58" class="pre-context" id="pre139742737484904">
<li onclick="toggle('pre139742737484904', 'post139742737484904')"><pre> """</pre></li>
<li onclick="toggle('pre139742737484904', 'post139742737484904')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742737484904', 'post139742737484904')"><pre> try:</pre></li>
<li onclick="toggle('pre139742737484904', 'post139742737484904')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742737484904', 'post139742737484904')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742737484904', 'post139742737484904')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742737484904', 'post139742737484904')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742737484904', 'post139742737484904')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742737484904">
<li onclick="toggle('pre139742737484904', 'post139742737484904')"><pre> )</pre></li>
<li onclick="toggle('pre139742737484904', 'post139742737484904')"><pre> else:</pre></li>
<li onclick="toggle('pre139742737484904', 'post139742737484904')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742737484904', 'post139742737484904')"><pre></pre></li>
<li onclick="toggle('pre139742737484904', 'post139742737484904')"><pre></pre></li>
<li onclick="toggle('pre139742737484904', 'post139742737484904')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737484904')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737484904">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'mNodeTier3TestUpdate201712323452112'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3591338138473491344.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6781923597038426096.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686003'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=82sKtDzNcdL2FPJHaoZwwFgMg7R3ywIUx7zQbef'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57279'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877856103345'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18655400b0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865471cf0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate201712323452112; FilePart:object = /tmp/mmp.output.6781923597038426096.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3591338138473491344.tmp (989 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:621)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:576)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoRightsOnObsoleted(MNStorageV2IT.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate201712323452315; FilePart:object = /tmp/mmp.output.4197604465513930986.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1377375174216813053.tmp (989 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:621)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:576)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoRightsOnObsoleted(MNStorageV2IT.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate20171232345384; FilePart:object = /tmp/mmp.output.7102368455607960386.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.60193995737022062.tmp (988 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:621)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:576)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoRightsOnObsoleted(MNStorageV2IT.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate201712323453355; FilePart:object = /tmp/mmp.output.6450273402856120975.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2700340471261038039.tmp (989 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:621)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:576)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoRightsOnObsoleted(MNStorageV2IT.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate201712323454942; FilePart:object = /tmp/mmp.output.1022612202262395487.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3355418364164815962.tmp (989 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:621)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:576)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoRightsOnObsoleted(MNStorageV2IT.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:04:55 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562351008">
<ol start="32" class="pre-context" id="pre140358562351008">
<li onclick="toggle('pre140358562351008', 'post140358562351008')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562351008', 'post140358562351008')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562351008', 'post140358562351008')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562351008', 'post140358562351008')"><pre> """</pre></li>
<li onclick="toggle('pre140358562351008', 'post140358562351008')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562351008', 'post140358562351008')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562351008', 'post140358562351008')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562351008', 'post140358562351008')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562351008">
<li onclick="toggle('pre140358562351008', 'post140358562351008')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562351008', 'post140358562351008')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562351008', 'post140358562351008')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562351008', 'post140358562351008')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562351008', 'post140358562351008')"><pre></pre></li>
<li onclick="toggle('pre140358562351008', 'post140358562351008')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562351008')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562351008">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358563080600">
<ol start="242" class="pre-context" id="pre140358563080600">
<li onclick="toggle('pre140358563080600', 'post140358563080600')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358563080600', 'post140358563080600')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358563080600', 'post140358563080600')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358563080600', 'post140358563080600')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563080600', 'post140358563080600')"><pre> break</pre></li>
<li onclick="toggle('pre140358563080600', 'post140358563080600')"><pre></pre></li>
<li onclick="toggle('pre140358563080600', 'post140358563080600')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358563080600', 'post140358563080600')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358563080600">
<li onclick="toggle('pre140358563080600', 'post140358563080600')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563080600')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563080600">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358563600144">
<ol start="171" class="pre-context" id="pre140358563600144">
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre></pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre></pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358563600144">
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> break</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre></pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358563600144', 'post140358563600144')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563600144')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563600144">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358563599856">
<ol start="44" class="pre-context" id="pre140358563599856">
<li onclick="toggle('pre140358563599856', 'post140358563599856')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358563599856', 'post140358563599856')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358563599856', 'post140358563599856')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358563599856', 'post140358563599856')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358563599856', 'post140358563599856')"><pre> )</pre></li>
<li onclick="toggle('pre140358563599856', 'post140358563599856')"><pre> )</pre></li>
<li onclick="toggle('pre140358563599856', 'post140358563599856')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358563599856', 'post140358563599856')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358563599856">
<li onclick="toggle('pre140358563599856', 'post140358563599856')"><pre></pre></li>
<li onclick="toggle('pre140358563599856', 'post140358563599856')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358563599856', 'post140358563599856')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358563599856', 'post140358563599856')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358563599856', 'post140358563599856')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358563599856', 'post140358563599856')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563599856')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563599856">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562309904">
<ol start="66" class="pre-context" id="pre140358562309904">
<li onclick="toggle('pre140358562309904', 'post140358562309904')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562309904', 'post140358562309904')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562309904', 'post140358562309904')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562309904', 'post140358562309904')"><pre></pre></li>
<li onclick="toggle('pre140358562309904', 'post140358562309904')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562309904', 'post140358562309904')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562309904', 'post140358562309904')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562309904', 'post140358562309904')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562309904">
<li onclick="toggle('pre140358562309904', 'post140358562309904')"><pre> )</pre></li>
<li onclick="toggle('pre140358562309904', 'post140358562309904')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562309904', 'post140358562309904')"><pre> request</pre></li>
<li onclick="toggle('pre140358562309904', 'post140358562309904')"><pre> )</pre></li>
<li onclick="toggle('pre140358562309904', 'post140358562309904')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562309904', 'post140358562309904')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562309904')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562309904">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562309760">
<ol start="62" class="pre-context" id="pre140358562309760">
<li onclick="toggle('pre140358562309760', 'post140358562309760')"><pre> """</pre></li>
<li onclick="toggle('pre140358562309760', 'post140358562309760')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562309760', 'post140358562309760')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562309760', 'post140358562309760')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562309760', 'post140358562309760')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562309760', 'post140358562309760')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562309760', 'post140358562309760')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562309760', 'post140358562309760')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562309760">
<li onclick="toggle('pre140358562309760', 'post140358562309760')"><pre> )</pre></li>
<li onclick="toggle('pre140358562309760', 'post140358562309760')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562309760', 'post140358562309760')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562309760', 'post140358562309760')"><pre></pre></li>
<li onclick="toggle('pre140358562309760', 'post140358562309760')"><pre></pre></li>
<li onclick="toggle('pre140358562309760', 'post140358562309760')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562309760')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562309760">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'mNodeTier3TestUpdate201712323455706'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3882633570539971252.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7936088543712284128.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'685975'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=sheUMWospKs0PC9G7uUF_A2t9Rb6OacU'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58870'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877895858982'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877895858836'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877895858623'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877895859013'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c666a930></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c63f2af0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate201712323455706; FilePart:object = /tmp/mmp.output.7936088543712284128.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3882633570539971252.tmp (989 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:621)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:576)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoRightsOnObsoleted(MNStorageV2IT.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate20171232345617; FilePart:object = /tmp/mmp.output.649309111365023787.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5695755356513556088.tmp (988 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:621)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:576)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoRightsOnObsoleted(MNStorageV2IT.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:04:25 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742761837920">
<ol start="32" class="pre-context" id="pre139742761837920">
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> """</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742761837920">
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> return response</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre></pre></li>
<li onclick="toggle('pre139742761837920', 'post139742761837920')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761837920')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761837920">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742761840080">
<ol start="242" class="pre-context" id="pre139742761840080">
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> break</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre></pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742761840080">
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761840080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761840080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742761838568">
<ol start="171" class="pre-context" id="pre139742761838568">
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre></pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre></pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742761838568">
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> break</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre></pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742761838568', 'post139742761838568')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761838568')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761838568">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742761839000">
<ol start="39" class="pre-context" id="pre139742761839000">
<li onclick="toggle('pre139742761839000', 'post139742761839000')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742761839000', 'post139742761839000')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742761839000', 'post139742761839000')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742761839000', 'post139742761839000')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742761839000', 'post139742761839000')"><pre> )</pre></li>
<li onclick="toggle('pre139742761839000', 'post139742761839000')"><pre> )</pre></li>
<li onclick="toggle('pre139742761839000', 'post139742761839000')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742761839000', 'post139742761839000')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742761839000">
<li onclick="toggle('pre139742761839000', 'post139742761839000')"><pre></pre></li>
<li onclick="toggle('pre139742761839000', 'post139742761839000')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742761839000', 'post139742761839000')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742761839000', 'post139742761839000')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742761839000', 'post139742761839000')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742761839000', 'post139742761839000')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761839000')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761839000">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742761840152">
<ol start="60" class="pre-context" id="pre139742761840152">
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre></pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742761840152">
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761840152')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761840152">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742761839720">
<ol start="58" class="pre-context" id="pre139742761839720">
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> """</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> try:</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742761839720">
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> )</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> else:</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre></pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre></pre></li>
<li onclick="toggle('pre139742761839720', 'post139742761839720')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761839720')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761839720">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'mNodeTier3TestDelete20171232352207'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8141698325386448976.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6689889178484387651.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'686005'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=u5JhwpeqEpKEkMguKfOKLji1XcDuXaaWegkrJXs3'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57313'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877865200904'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18657b6c70></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18657b6730></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.lternet.edu/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestDelete20171232352207; FilePart:object = /tmp/mmp.output.6689889178484387651.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8141698325386448976.tmp (988 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:672)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:638)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testArchive(MNStorageV2IT.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.neonscience.org/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestDelete20171232352514; FilePart:object = /tmp/mmp.output.7327507985377231465.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5053635031539501122.tmp (988 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:672)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:638)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testArchive(MNStorageV2IT.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 413: Request Entity Too Large: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/metacat/d1/mn/v2/object<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at test.arcticdata.io Port 443</address>
</body></html>
[for host POST https://test.arcticdata.io/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestDelete20171232353465; FilePart:object = /tmp/mmp.output.6369459640782808275.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7842457006348102306.tmp (988 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:672)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:638)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testArchive(MNStorageV2IT.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: InvalidToken: 1110: Session is required to WRITE to the Node. [for host POST http://dataone.ornith.cornell.edu/metacat/d1/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestDelete20171232353755; FilePart:object = /tmp/mmp.output.7682861787435672253.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3107667210965026298.tmp (988 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:672)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:638)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testArchive(MNStorageV2IT.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://dataone-test.researchworkspace.com/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestDelete20171232355351; FilePart:object = /tmp/mmp.output.6273404709795279962.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8724743854019637175.tmp (988 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:672)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:638)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testArchive(MNStorageV2IT.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:05:06 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358564463968">
<ol start="32" class="pre-context" id="pre140358564463968">
<li onclick="toggle('pre140358564463968', 'post140358564463968')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358564463968', 'post140358564463968')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358564463968', 'post140358564463968')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358564463968', 'post140358564463968')"><pre> """</pre></li>
<li onclick="toggle('pre140358564463968', 'post140358564463968')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358564463968', 'post140358564463968')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358564463968', 'post140358564463968')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358564463968', 'post140358564463968')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358564463968">
<li onclick="toggle('pre140358564463968', 'post140358564463968')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358564463968', 'post140358564463968')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358564463968', 'post140358564463968')"><pre> return response</pre></li>
<li onclick="toggle('pre140358564463968', 'post140358564463968')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358564463968', 'post140358564463968')"><pre></pre></li>
<li onclick="toggle('pre140358564463968', 'post140358564463968')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564463968')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564463968">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358564817448">
<ol start="242" class="pre-context" id="pre140358564817448">
<li onclick="toggle('pre140358564817448', 'post140358564817448')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358564817448', 'post140358564817448')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358564817448', 'post140358564817448')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358564817448', 'post140358564817448')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564817448', 'post140358564817448')"><pre> break</pre></li>
<li onclick="toggle('pre140358564817448', 'post140358564817448')"><pre></pre></li>
<li onclick="toggle('pre140358564817448', 'post140358564817448')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358564817448', 'post140358564817448')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358564817448">
<li onclick="toggle('pre140358564817448', 'post140358564817448')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564817448')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564817448">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358563228128">
<ol start="171" class="pre-context" id="pre140358563228128">
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre></pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre></pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358563228128">
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> break</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre></pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358563228128', 'post140358563228128')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563228128')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563228128">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358563601584">
<ol start="44" class="pre-context" id="pre140358563601584">
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> )</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> )</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358563601584">
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre></pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358563601584', 'post140358563601584')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563601584')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563601584">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358563602376">
<ol start="66" class="pre-context" id="pre140358563602376">
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre></pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358563602376">
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> )</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> request</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> )</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358563602376', 'post140358563602376')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563602376')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563602376">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358563598488">
<ol start="62" class="pre-context" id="pre140358563598488">
<li onclick="toggle('pre140358563598488', 'post140358563598488')"><pre> """</pre></li>
<li onclick="toggle('pre140358563598488', 'post140358563598488')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358563598488', 'post140358563598488')"><pre> try:</pre></li>
<li onclick="toggle('pre140358563598488', 'post140358563598488')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358563598488', 'post140358563598488')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358563598488', 'post140358563598488')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358563598488', 'post140358563598488')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358563598488', 'post140358563598488')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358563598488">
<li onclick="toggle('pre140358563598488', 'post140358563598488')"><pre> )</pre></li>
<li onclick="toggle('pre140358563598488', 'post140358563598488')"><pre> else:</pre></li>
<li onclick="toggle('pre140358563598488', 'post140358563598488')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358563598488', 'post140358563598488')"><pre></pre></li>
<li onclick="toggle('pre140358563598488', 'post140358563598488')"><pre></pre></li>
<li onclick="toggle('pre140358563598488', 'post140358563598488')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563598488')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563598488">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'mNodeTier3TestDelete2017123235661'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8626081624853529393.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2016079952065115028.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'685967'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=xbOv0rXg1hya6Ouh97yl7kBD1c5B08V'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58904'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877906103058'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877906102911'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877906102701'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877906103089'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c65316f0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c64cff70></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host POST https://gmn-s.edirepository.org/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestDelete2017123235661; FilePart:object = /tmp/mmp.output.2016079952065115028.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8626081624853529393.tmp (987 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:672)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:638)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testArchive(MNStorageV2IT.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host POST https://ncei.nceas.ucsb.edu/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestDelete20171232356236; FilePart:object = /tmp/mmp.output.342473304570516571.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8498585207564585313.tmp (988 bytes); ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:672)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:638)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testArchive(MNStorageV2IT.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected NotFound, got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator at
webmaster@localhost to inform them of the time this error occurred,
and the actions you performed just before this error.</p>
<p>More information about this error may be available
in the server error log.</p>
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>
</body></html>
[for host PUT https://gmn-s.lternet.edu/mn/v2/archive/fakeID.20171232359860; MMP entity is null ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive_NotFound(MNStorageTestImplementations.java:711)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive_NotFound(MNStorageTestImplementations.java:687)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testArchive_NotFound(MNStorageV2IT.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected NotFound, got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host PUT https://dataone-test.researchworkspace.com/mn/v2/archive/fakeID.201712323510969; MMP entity is null ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive_NotFound(MNStorageTestImplementations.java:711)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive_NotFound(MNStorageTestImplementations.java:687)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testArchive_NotFound(MNStorageV2IT.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected NotFound, got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator at
admin@edirepository.org to inform them of the time this error occurred,
and the actions you performed just before this error.</p>
<p>More information about this error may be available
in the server error log.</p>
<hr>
<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>
</body></html>
[for host PUT https://gmn-s.edirepository.org/mn/v2/archive/fakeID.201712323511124; MMP entity is null ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive_NotFound(MNStorageTestImplementations.java:711)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive_NotFound(MNStorageTestImplementations.java:687)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testArchive_NotFound(MNStorageV2IT.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected NotFound, got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host PUT https://ncei.nceas.ucsb.edu/mn/v2/archive/fakeID.201712323511203; MMP entity is null ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive_NotFound(MNStorageTestImplementations.java:711)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive_NotFound(MNStorageTestImplementations.java:687)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testArchive_NotFound(MNStorageV2IT.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.NullPointerException
at org.dataone.client.rest.MultipartD1Node.get(MultipartD1Node.java:359)
at org.dataone.client.v2.impl.MultipartMNode.get(MultipartMNode.java:279)
at org.dataone.integration.adapters.CommonCallAdapter.get(CommonCallAdapter.java:215)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive_NoCert(MNStorageTestImplementations.java:754)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive_NoCert(MNStorageTestImplementations.java:726)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testArchive_NoCert(MNStorageV2IT.java:125)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.NullPointerException
at org.dataone.client.rest.MultipartD1Node.get(MultipartD1Node.java:359)
at org.dataone.client.v2.impl.MultipartMNode.get(MultipartMNode.java:279)
at org.dataone.integration.adapters.CommonCallAdapter.get(CommonCallAdapter.java:215)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testDelete_NoCert(MNStorageTestImplementations.java:830)
at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testDelete_NoCert(MNStorageTestImplementations.java:802)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testDelete_NoCert(MNStorageV2IT.java:131)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:05:13 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742737523848">
<ol start="32" class="pre-context" id="pre139742737523848">
<li onclick="toggle('pre139742737523848', 'post139742737523848')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742737523848', 'post139742737523848')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742737523848', 'post139742737523848')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742737523848', 'post139742737523848')"><pre> """</pre></li>
<li onclick="toggle('pre139742737523848', 'post139742737523848')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742737523848', 'post139742737523848')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742737523848', 'post139742737523848')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742737523848', 'post139742737523848')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742737523848">
<li onclick="toggle('pre139742737523848', 'post139742737523848')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742737523848', 'post139742737523848')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742737523848', 'post139742737523848')"><pre> return response</pre></li>
<li onclick="toggle('pre139742737523848', 'post139742737523848')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742737523848', 'post139742737523848')"><pre></pre></li>
<li onclick="toggle('pre139742737523848', 'post139742737523848')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737523848')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737523848">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742737520256">
<ol start="242" class="pre-context" id="pre139742737520256">
<li onclick="toggle('pre139742737520256', 'post139742737520256')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742737520256', 'post139742737520256')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742737520256', 'post139742737520256')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742737520256', 'post139742737520256')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742737520256', 'post139742737520256')"><pre> break</pre></li>
<li onclick="toggle('pre139742737520256', 'post139742737520256')"><pre></pre></li>
<li onclick="toggle('pre139742737520256', 'post139742737520256')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742737520256', 'post139742737520256')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742737520256">
<li onclick="toggle('pre139742737520256', 'post139742737520256')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737520256')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737520256">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742737505240">
<ol start="171" class="pre-context" id="pre139742737505240">
<li onclick="toggle('pre139742737505240', 'post139742737505240')"><pre></pre></li>
<li onclick="toggle('pre139742737505240', 'post139742737505240')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742737505240', 'post139742737505240')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742737505240', 'post139742737505240')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742737505240', 'post139742737505240')"><pre></pre></li>
<li onclick="toggle('pre139742737505240', 'post139742737505240')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742737505240', 'post139742737505240')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742737505240', 'post139742737505240')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742737505240">
<li onclick="toggle('pre139742737505240', 'post139742737505240')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742737505240', 'post139742737505240')"><pre> break</pre></li>
<li onclick="toggle('pre139742737505240', 'post139742737505240')"><pre></pre></li>
<li onclick="toggle('pre139742737505240', 'post139742737505240')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742737505240', 'post139742737505240')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742737505240', 'post139742737505240')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737505240')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737505240">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742737506248">
<ol start="39" class="pre-context" id="pre139742737506248">
<li onclick="toggle('pre139742737506248', 'post139742737506248')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742737506248', 'post139742737506248')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742737506248', 'post139742737506248')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742737506248', 'post139742737506248')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742737506248', 'post139742737506248')"><pre> )</pre></li>
<li onclick="toggle('pre139742737506248', 'post139742737506248')"><pre> )</pre></li>
<li onclick="toggle('pre139742737506248', 'post139742737506248')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742737506248', 'post139742737506248')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742737506248">
<li onclick="toggle('pre139742737506248', 'post139742737506248')"><pre></pre></li>
<li onclick="toggle('pre139742737506248', 'post139742737506248')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742737506248', 'post139742737506248')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742737506248', 'post139742737506248')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742737506248', 'post139742737506248')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742737506248', 'post139742737506248')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737506248')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737506248">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742735475560">
<ol start="60" class="pre-context" id="pre139742735475560">
<li onclick="toggle('pre139742735475560', 'post139742735475560')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742735475560', 'post139742735475560')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742735475560', 'post139742735475560')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742735475560', 'post139742735475560')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742735475560', 'post139742735475560')"><pre></pre></li>
<li onclick="toggle('pre139742735475560', 'post139742735475560')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742735475560', 'post139742735475560')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742735475560', 'post139742735475560')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742735475560">
<li onclick="toggle('pre139742735475560', 'post139742735475560')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742735475560', 'post139742735475560')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742735475560', 'post139742735475560')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742735475560', 'post139742735475560')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742735475560', 'post139742735475560')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742735475560', 'post139742735475560')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735475560')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735475560">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742735478152">
<ol start="58" class="pre-context" id="pre139742735478152">
<li onclick="toggle('pre139742735478152', 'post139742735478152')"><pre> """</pre></li>
<li onclick="toggle('pre139742735478152', 'post139742735478152')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742735478152', 'post139742735478152')"><pre> try:</pre></li>
<li onclick="toggle('pre139742735478152', 'post139742735478152')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742735478152', 'post139742735478152')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742735478152', 'post139742735478152')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742735478152', 'post139742735478152')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742735478152', 'post139742735478152')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742735478152">
<li onclick="toggle('pre139742735478152', 'post139742735478152')"><pre> )</pre></li>
<li onclick="toggle('pre139742735478152', 'post139742735478152')"><pre> else:</pre></li>
<li onclick="toggle('pre139742735478152', 'post139742735478152')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742735478152', 'post139742735478152')"><pre></pre></li>
<li onclick="toggle('pre139742735478152', 'post139742735478152')"><pre></pre></li>
<li onclick="toggle('pre139742735478152', 'post139742735478152')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735478152')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735478152">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_RightsHolder_201712323555410'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1784552029683745445.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2207239257266668956.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18956'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=bB_T4an9JLxjQqJP56_rq9eK-IVNs5PTMP'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57580'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877913183261'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186553bef0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186553bab0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:162)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:120)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_RightsHolder(MNStorageV2IT.java:144)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:162)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:120)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_RightsHolder(MNStorageV2IT.java:144)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:162)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:120)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_RightsHolder(MNStorageV2IT.java:144)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:162)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:120)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_RightsHolder(MNStorageV2IT.java:144)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:06:11 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562716488">
<ol start="32" class="pre-context" id="pre140358562716488">
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> """</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562716488">
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre></pre></li>
<li onclick="toggle('pre140358562716488', 'post140358562716488')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562716488')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562716488">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358534407160">
<ol start="242" class="pre-context" id="pre140358534407160">
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre> break</pre></li>
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre></pre></li>
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358534407160">
<li onclick="toggle('pre140358534407160', 'post140358534407160')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534407160')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534407160">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358531806272">
<ol start="171" class="pre-context" id="pre140358531806272">
<li onclick="toggle('pre140358531806272', 'post140358531806272')"><pre></pre></li>
<li onclick="toggle('pre140358531806272', 'post140358531806272')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358531806272', 'post140358531806272')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358531806272', 'post140358531806272')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358531806272', 'post140358531806272')"><pre></pre></li>
<li onclick="toggle('pre140358531806272', 'post140358531806272')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358531806272', 'post140358531806272')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358531806272', 'post140358531806272')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358531806272">
<li onclick="toggle('pre140358531806272', 'post140358531806272')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358531806272', 'post140358531806272')"><pre> break</pre></li>
<li onclick="toggle('pre140358531806272', 'post140358531806272')"><pre></pre></li>
<li onclick="toggle('pre140358531806272', 'post140358531806272')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358531806272', 'post140358531806272')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358531806272', 'post140358531806272')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531806272')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531806272">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358534398392">
<ol start="44" class="pre-context" id="pre140358534398392">
<li onclick="toggle('pre140358534398392', 'post140358534398392')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358534398392', 'post140358534398392')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358534398392', 'post140358534398392')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358534398392', 'post140358534398392')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358534398392', 'post140358534398392')"><pre> )</pre></li>
<li onclick="toggle('pre140358534398392', 'post140358534398392')"><pre> )</pre></li>
<li onclick="toggle('pre140358534398392', 'post140358534398392')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358534398392', 'post140358534398392')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358534398392">
<li onclick="toggle('pre140358534398392', 'post140358534398392')"><pre></pre></li>
<li onclick="toggle('pre140358534398392', 'post140358534398392')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358534398392', 'post140358534398392')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358534398392', 'post140358534398392')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358534398392', 'post140358534398392')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358534398392', 'post140358534398392')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534398392')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534398392">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358534400192">
<ol start="66" class="pre-context" id="pre140358534400192">
<li onclick="toggle('pre140358534400192', 'post140358534400192')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358534400192', 'post140358534400192')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358534400192', 'post140358534400192')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358534400192', 'post140358534400192')"><pre></pre></li>
<li onclick="toggle('pre140358534400192', 'post140358534400192')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358534400192', 'post140358534400192')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358534400192', 'post140358534400192')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358534400192', 'post140358534400192')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358534400192">
<li onclick="toggle('pre140358534400192', 'post140358534400192')"><pre> )</pre></li>
<li onclick="toggle('pre140358534400192', 'post140358534400192')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358534400192', 'post140358534400192')"><pre> request</pre></li>
<li onclick="toggle('pre140358534400192', 'post140358534400192')"><pre> )</pre></li>
<li onclick="toggle('pre140358534400192', 'post140358534400192')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358534400192', 'post140358534400192')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534400192')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534400192">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358534357216">
<ol start="62" class="pre-context" id="pre140358534357216">
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> """</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> try:</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358534357216">
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> )</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> else:</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre></pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre></pre></li>
<li onclick="toggle('pre140358534357216', 'post140358534357216')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534357216')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534357216">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_RightsHolder_201712323611546'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8677833037879866932.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2949219178363284638.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18950'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=_OrLciLErQqqMwhkiAra47qUeL6f8kDpZ'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'59226'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877971718113'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877971717978'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877971717758'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877971718142'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c641e588></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c64ff4b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:162)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:120)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_RightsHolder(MNStorageV2IT.java:144)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:162)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:120)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_RightsHolder(MNStorageV2IT.java:144)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected a NotAuthorized exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NotAuthorized(UpdateSystemMetadataTestImplementations.java:79)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NotFound(UpdateSystemMetadataTestImplementations.java:661)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_NotFound(MNStorageV2IT.java:150)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected a NotAuthorized exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NotAuthorized(UpdateSystemMetadataTestImplementations.java:79)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NotFound(UpdateSystemMetadataTestImplementations.java:661)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_NotFound(MNStorageV2IT.java:150)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: ServiceFailure: 0 Client_Error: class org.dataone.exceptions.MarshallingException: null [for host GET https://mn-stage-ucsb-2.test.dataone.org/knb/d1/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323628368 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:116)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:89)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NoPid(MNStorageV2IT.java:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: ServiceFailure: 0 Client_Error: class org.dataone.exceptions.MarshallingException: null [for host GET https://mn-demo-11.test.dataone.org/knb/d1/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323630446 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:116)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:89)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NoPid(MNStorageV2IT.java:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:05:46 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742735533120">
<ol start="32" class="pre-context" id="pre139742735533120">
<li onclick="toggle('pre139742735533120', 'post139742735533120')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742735533120', 'post139742735533120')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742735533120', 'post139742735533120')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742735533120', 'post139742735533120')"><pre> """</pre></li>
<li onclick="toggle('pre139742735533120', 'post139742735533120')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742735533120', 'post139742735533120')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742735533120', 'post139742735533120')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742735533120', 'post139742735533120')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742735533120">
<li onclick="toggle('pre139742735533120', 'post139742735533120')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742735533120', 'post139742735533120')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742735533120', 'post139742735533120')"><pre> return response</pre></li>
<li onclick="toggle('pre139742735533120', 'post139742735533120')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742735533120', 'post139742735533120')"><pre></pre></li>
<li onclick="toggle('pre139742735533120', 'post139742735533120')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735533120')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735533120">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742735533768">
<ol start="242" class="pre-context" id="pre139742735533768">
<li onclick="toggle('pre139742735533768', 'post139742735533768')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742735533768', 'post139742735533768')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742735533768', 'post139742735533768')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742735533768', 'post139742735533768')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742735533768', 'post139742735533768')"><pre> break</pre></li>
<li onclick="toggle('pre139742735533768', 'post139742735533768')"><pre></pre></li>
<li onclick="toggle('pre139742735533768', 'post139742735533768')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742735533768', 'post139742735533768')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742735533768">
<li onclick="toggle('pre139742735533768', 'post139742735533768')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735533768')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735533768">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742735532616">
<ol start="171" class="pre-context" id="pre139742735532616">
<li onclick="toggle('pre139742735532616', 'post139742735532616')"><pre></pre></li>
<li onclick="toggle('pre139742735532616', 'post139742735532616')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742735532616', 'post139742735532616')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742735532616', 'post139742735532616')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742735532616', 'post139742735532616')"><pre></pre></li>
<li onclick="toggle('pre139742735532616', 'post139742735532616')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742735532616', 'post139742735532616')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742735532616', 'post139742735532616')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742735532616">
<li onclick="toggle('pre139742735532616', 'post139742735532616')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742735532616', 'post139742735532616')"><pre> break</pre></li>
<li onclick="toggle('pre139742735532616', 'post139742735532616')"><pre></pre></li>
<li onclick="toggle('pre139742735532616', 'post139742735532616')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742735532616', 'post139742735532616')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742735532616', 'post139742735532616')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735532616')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735532616">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268',), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742737505384">
<ol start="39" class="pre-context" id="pre139742737505384">
<li onclick="toggle('pre139742737505384', 'post139742737505384')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742737505384', 'post139742737505384')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742737505384', 'post139742737505384')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742737505384', 'post139742737505384')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742737505384', 'post139742737505384')"><pre> )</pre></li>
<li onclick="toggle('pre139742737505384', 'post139742737505384')"><pre> )</pre></li>
<li onclick="toggle('pre139742737505384', 'post139742737505384')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742737505384', 'post139742737505384')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742737505384">
<li onclick="toggle('pre139742737505384', 'post139742737505384')"><pre></pre></li>
<li onclick="toggle('pre139742737505384', 'post139742737505384')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742737505384', 'post139742737505384')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742737505384', 'post139742737505384')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742737505384', 'post139742737505384')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742737505384', 'post139742737505384')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737505384')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737505384">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742737490144">
<ol start="60" class="pre-context" id="pre139742737490144">
<li onclick="toggle('pre139742737490144', 'post139742737490144')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742737490144', 'post139742737490144')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742737490144', 'post139742737490144')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742737490144', 'post139742737490144')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742737490144', 'post139742737490144')"><pre></pre></li>
<li onclick="toggle('pre139742737490144', 'post139742737490144')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742737490144', 'post139742737490144')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742737490144', 'post139742737490144')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742737490144">
<li onclick="toggle('pre139742737490144', 'post139742737490144')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742737490144', 'post139742737490144')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742737490144', 'post139742737490144')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742737490144', 'post139742737490144')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742737490144', 'post139742737490144')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742737490144', 'post139742737490144')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737490144')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737490144">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742735532472">
<ol start="58" class="pre-context" id="pre139742735532472">
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> """</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> try:</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742735532472">
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> )</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> else:</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre></pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre></pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735532472')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735532472">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57752'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877946182829'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1865669430></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18655d08b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632268 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:116)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:89)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NoPid(MNStorageV2IT.java:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:121)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:89)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NoPid(MNStorageV2IT.java:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: ServiceFailure: 0 Client_Error: class org.dataone.exceptions.MarshallingException: null [for host GET https://test.arcticdata.io/metacat/d1/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323632841 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:116)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:89)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NoPid(MNStorageV2IT.java:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:121)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:89)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NoPid(MNStorageV2IT.java:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://dataone-test.researchworkspace.com/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323636904 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:116)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:89)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NoPid(MNStorageV2IT.java:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:06:37 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358567988544">
<ol start="32" class="pre-context" id="pre140358567988544">
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> """</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358567988544">
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> return response</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre></pre></li>
<li onclick="toggle('pre140358567988544', 'post140358567988544')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358567988544')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358567988544">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358534386896">
<ol start="242" class="pre-context" id="pre140358534386896">
<li onclick="toggle('pre140358534386896', 'post140358534386896')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358534386896', 'post140358534386896')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358534386896', 'post140358534386896')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358534386896', 'post140358534386896')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534386896', 'post140358534386896')"><pre> break</pre></li>
<li onclick="toggle('pre140358534386896', 'post140358534386896')"><pre></pre></li>
<li onclick="toggle('pre140358534386896', 'post140358534386896')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358534386896', 'post140358534386896')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358534386896">
<li onclick="toggle('pre140358534386896', 'post140358534386896')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534386896')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534386896">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358534290968">
<ol start="171" class="pre-context" id="pre140358534290968">
<li onclick="toggle('pre140358534290968', 'post140358534290968')"><pre></pre></li>
<li onclick="toggle('pre140358534290968', 'post140358534290968')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358534290968', 'post140358534290968')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358534290968', 'post140358534290968')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358534290968', 'post140358534290968')"><pre></pre></li>
<li onclick="toggle('pre140358534290968', 'post140358534290968')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358534290968', 'post140358534290968')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358534290968', 'post140358534290968')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358534290968">
<li onclick="toggle('pre140358534290968', 'post140358534290968')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534290968', 'post140358534290968')"><pre> break</pre></li>
<li onclick="toggle('pre140358534290968', 'post140358534290968')"><pre></pre></li>
<li onclick="toggle('pre140358534290968', 'post140358534290968')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358534290968', 'post140358534290968')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358534290968', 'post140358534290968')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534290968')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534290968">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358534287728">
<ol start="44" class="pre-context" id="pre140358534287728">
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> )</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> )</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358534287728">
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre></pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358534287728', 'post140358534287728')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534287728')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534287728">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358534406656">
<ol start="66" class="pre-context" id="pre140358534406656">
<li onclick="toggle('pre140358534406656', 'post140358534406656')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358534406656', 'post140358534406656')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358534406656', 'post140358534406656')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358534406656', 'post140358534406656')"><pre></pre></li>
<li onclick="toggle('pre140358534406656', 'post140358534406656')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358534406656', 'post140358534406656')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358534406656', 'post140358534406656')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358534406656', 'post140358534406656')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358534406656">
<li onclick="toggle('pre140358534406656', 'post140358534406656')"><pre> )</pre></li>
<li onclick="toggle('pre140358534406656', 'post140358534406656')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358534406656', 'post140358534406656')"><pre> request</pre></li>
<li onclick="toggle('pre140358534406656', 'post140358534406656')"><pre> )</pre></li>
<li onclick="toggle('pre140358534406656', 'post140358534406656')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358534406656', 'post140358534406656')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534406656')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534406656">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358534406440">
<ol start="62" class="pre-context" id="pre140358534406440">
<li onclick="toggle('pre140358534406440', 'post140358534406440')"><pre> """</pre></li>
<li onclick="toggle('pre140358534406440', 'post140358534406440')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358534406440', 'post140358534406440')"><pre> try:</pre></li>
<li onclick="toggle('pre140358534406440', 'post140358534406440')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358534406440', 'post140358534406440')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358534406440', 'post140358534406440')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358534406440', 'post140358534406440')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358534406440', 'post140358534406440')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358534406440">
<li onclick="toggle('pre140358534406440', 'post140358534406440')"><pre> )</pre></li>
<li onclick="toggle('pre140358534406440', 'post140358534406440')"><pre> else:</pre></li>
<li onclick="toggle('pre140358534406440', 'post140358534406440')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358534406440', 'post140358534406440')"><pre></pre></li>
<li onclick="toggle('pre140358534406440', 'post140358534406440')"><pre></pre></li>
<li onclick="toggle('pre140358534406440', 'post140358534406440')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534406440')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534406440">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'59356'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493877997091906'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877997091756'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493877997091551'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493877997091938'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c6428108></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c73d9f30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20171232363760 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:116)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:89)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NoPid(MNStorageV2IT.java:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://ncei.nceas.ucsb.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201712323637218 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:116)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:89)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NoPid(MNStorageV2IT.java:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected no exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:05:56 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758683640">
<ol start="32" class="pre-context" id="pre139742758683640">
<li onclick="toggle('pre139742758683640', 'post139742758683640')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758683640', 'post139742758683640')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758683640', 'post139742758683640')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758683640', 'post139742758683640')"><pre> """</pre></li>
<li onclick="toggle('pre139742758683640', 'post139742758683640')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758683640', 'post139742758683640')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758683640', 'post139742758683640')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758683640', 'post139742758683640')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758683640">
<li onclick="toggle('pre139742758683640', 'post139742758683640')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758683640', 'post139742758683640')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758683640', 'post139742758683640')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758683640', 'post139742758683640')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758683640', 'post139742758683640')"><pre></pre></li>
<li onclick="toggle('pre139742758683640', 'post139742758683640')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758683640')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758683640">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758684648">
<ol start="242" class="pre-context" id="pre139742758684648">
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> break</pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre></pre></li>
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758684648">
<li onclick="toggle('pre139742758684648', 'post139742758684648')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758684648')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758684648">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758683856">
<ol start="171" class="pre-context" id="pre139742758683856">
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre></pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre></pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758683856">
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> break</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre></pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758683856', 'post139742758683856')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758683856')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758683856">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_NoSerialVersion_201712323644165',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_NoSerialVersion_201712323644165',), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758683424">
<ol start="39" class="pre-context" id="pre139742758683424">
<li onclick="toggle('pre139742758683424', 'post139742758683424')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758683424', 'post139742758683424')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758683424', 'post139742758683424')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758683424', 'post139742758683424')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758683424', 'post139742758683424')"><pre> )</pre></li>
<li onclick="toggle('pre139742758683424', 'post139742758683424')"><pre> )</pre></li>
<li onclick="toggle('pre139742758683424', 'post139742758683424')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758683424', 'post139742758683424')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758683424">
<li onclick="toggle('pre139742758683424', 'post139742758683424')"><pre></pre></li>
<li onclick="toggle('pre139742758683424', 'post139742758683424')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758683424', 'post139742758683424')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758683424', 'post139742758683424')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758683424', 'post139742758683424')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758683424', 'post139742758683424')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758683424')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758683424">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_NoSerialVersion_201712323644165',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758684216">
<ol start="60" class="pre-context" id="pre139742758684216">
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre></pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758684216">
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758684216', 'post139742758684216')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758684216')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758684216">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758683064">
<ol start="58" class="pre-context" id="pre139742758683064">
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> """</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758683064">
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> )</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre></pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre></pre></li>
<li onclick="toggle('pre139742758683064', 'post139742758683064')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758683064')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758683064">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57808'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877956884458'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1865928d30></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865769a30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323644165 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NoSerialVersion(UpdateSystemMetadataTestImplementations.java:197)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NoSerialVersion(UpdateSystemMetadataTestImplementations.java:173)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_NoSerialVersion(MNStorageV2IT.java:174)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected no exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NoSerialVersion(UpdateSystemMetadataTestImplementations.java:202)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NoSerialVersion(UpdateSystemMetadataTestImplementations.java:173)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_NoSerialVersion(MNStorageV2IT.java:174)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected no exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NoSerialVersion(UpdateSystemMetadataTestImplementations.java:202)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NoSerialVersion(UpdateSystemMetadataTestImplementations.java:173)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_NoSerialVersion(MNStorageV2IT.java:174)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected no exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://dataone-test.researchworkspace.com/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649425 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NoSerialVersion(UpdateSystemMetadataTestImplementations.java:197)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NoSerialVersion(UpdateSystemMetadataTestImplementations.java:173)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_NoSerialVersion(MNStorageV2IT.java:174)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected no exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:06:49 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562351800">
<ol start="32" class="pre-context" id="pre140358562351800">
<li onclick="toggle('pre140358562351800', 'post140358562351800')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562351800', 'post140358562351800')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562351800', 'post140358562351800')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562351800', 'post140358562351800')"><pre> """</pre></li>
<li onclick="toggle('pre140358562351800', 'post140358562351800')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562351800', 'post140358562351800')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562351800', 'post140358562351800')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562351800', 'post140358562351800')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562351800">
<li onclick="toggle('pre140358562351800', 'post140358562351800')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562351800', 'post140358562351800')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562351800', 'post140358562351800')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562351800', 'post140358562351800')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562351800', 'post140358562351800')"><pre></pre></li>
<li onclick="toggle('pre140358562351800', 'post140358562351800')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562351800')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562351800">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562826144">
<ol start="242" class="pre-context" id="pre140358562826144">
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> break</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre></pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562826144">
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562826144')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562826144">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358562298696">
<ol start="171" class="pre-context" id="pre140358562298696">
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre></pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre></pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358562298696">
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> break</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre></pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358562298696', 'post140358562298696')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562298696')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562298696">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_NoSerialVersion_201712323649727',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_NoSerialVersion_201712323649727',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358564336488">
<ol start="44" class="pre-context" id="pre140358564336488">
<li onclick="toggle('pre140358564336488', 'post140358564336488')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358564336488', 'post140358564336488')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358564336488', 'post140358564336488')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358564336488', 'post140358564336488')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358564336488', 'post140358564336488')"><pre> )</pre></li>
<li onclick="toggle('pre140358564336488', 'post140358564336488')"><pre> )</pre></li>
<li onclick="toggle('pre140358564336488', 'post140358564336488')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358564336488', 'post140358564336488')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358564336488">
<li onclick="toggle('pre140358564336488', 'post140358564336488')"><pre></pre></li>
<li onclick="toggle('pre140358564336488', 'post140358564336488')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358564336488', 'post140358564336488')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358564336488', 'post140358564336488')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358564336488', 'post140358564336488')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358564336488', 'post140358564336488')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564336488')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564336488">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_NoSerialVersion_201712323649727',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358564338144">
<ol start="66" class="pre-context" id="pre140358564338144">
<li onclick="toggle('pre140358564338144', 'post140358564338144')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358564338144', 'post140358564338144')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358564338144', 'post140358564338144')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358564338144', 'post140358564338144')"><pre></pre></li>
<li onclick="toggle('pre140358564338144', 'post140358564338144')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358564338144', 'post140358564338144')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358564338144', 'post140358564338144')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358564338144', 'post140358564338144')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358564338144">
<li onclick="toggle('pre140358564338144', 'post140358564338144')"><pre> )</pre></li>
<li onclick="toggle('pre140358564338144', 'post140358564338144')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358564338144', 'post140358564338144')"><pre> request</pre></li>
<li onclick="toggle('pre140358564338144', 'post140358564338144')"><pre> )</pre></li>
<li onclick="toggle('pre140358564338144', 'post140358564338144')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358564338144', 'post140358564338144')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564338144')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564338144">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562771168">
<ol start="62" class="pre-context" id="pre140358562771168">
<li onclick="toggle('pre140358562771168', 'post140358562771168')"><pre> """</pre></li>
<li onclick="toggle('pre140358562771168', 'post140358562771168')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562771168', 'post140358562771168')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562771168', 'post140358562771168')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562771168', 'post140358562771168')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562771168', 'post140358562771168')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562771168', 'post140358562771168')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562771168', 'post140358562771168')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562771168">
<li onclick="toggle('pre140358562771168', 'post140358562771168')"><pre> )</pre></li>
<li onclick="toggle('pre140358562771168', 'post140358562771168')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562771168', 'post140358562771168')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562771168', 'post140358562771168')"><pre></pre></li>
<li onclick="toggle('pre140358562771168', 'post140358562771168')"><pre></pre></li>
<li onclick="toggle('pre140358562771168', 'post140358562771168')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562771168')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562771168">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'59405'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493878009920432'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493878009920307'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493878009920102'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493878009920464'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c64b29c0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c6500af0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201712323649727 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NoSerialVersion(UpdateSystemMetadataTestImplementations.java:197)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NoSerialVersion(UpdateSystemMetadataTestImplementations.java:173)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_NoSerialVersion(MNStorageV2IT.java:174)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected no exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://ncei.nceas.ucsb.edu/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_20171232365077 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NoSerialVersion(UpdateSystemMetadataTestImplementations.java:197)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NoSerialVersion(UpdateSystemMetadataTestImplementations.java:173)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_NoSerialVersion(MNStorageV2IT.java:174)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: 0 Client_Error: class org.dataone.exceptions.MarshallingException: null [for host GET https://mn-stage-ucsb-2.test.dataone.org/knb/d1/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch201712323653391 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:240)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:212)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_PidMismatch(MNStorageV2IT.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: 0 Client_Error: class org.dataone.exceptions.MarshallingException: null [for host GET https://mn-demo-11.test.dataone.org/knb/d1/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch201712323655327 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:240)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:212)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_PidMismatch(MNStorageV2IT.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:06:08 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758346120">
<ol start="32" class="pre-context" id="pre139742758346120">
<li onclick="toggle('pre139742758346120', 'post139742758346120')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758346120', 'post139742758346120')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758346120', 'post139742758346120')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758346120', 'post139742758346120')"><pre> """</pre></li>
<li onclick="toggle('pre139742758346120', 'post139742758346120')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758346120', 'post139742758346120')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758346120', 'post139742758346120')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758346120', 'post139742758346120')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758346120">
<li onclick="toggle('pre139742758346120', 'post139742758346120')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758346120', 'post139742758346120')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758346120', 'post139742758346120')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758346120', 'post139742758346120')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758346120', 'post139742758346120')"><pre></pre></li>
<li onclick="toggle('pre139742758346120', 'post139742758346120')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758346120')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758346120">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758342880">
<ol start="242" class="pre-context" id="pre139742758342880">
<li onclick="toggle('pre139742758342880', 'post139742758342880')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758342880', 'post139742758342880')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758342880', 'post139742758342880')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758342880', 'post139742758342880')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758342880', 'post139742758342880')"><pre> break</pre></li>
<li onclick="toggle('pre139742758342880', 'post139742758342880')"><pre></pre></li>
<li onclick="toggle('pre139742758342880', 'post139742758342880')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758342880', 'post139742758342880')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758342880">
<li onclick="toggle('pre139742758342880', 'post139742758342880')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758342880')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758342880">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758344752">
<ol start="171" class="pre-context" id="pre139742758344752">
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre></pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre></pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758344752">
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> break</pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre></pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758344752', 'post139742758344752')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758344752')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758344752">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774',), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758343528">
<ol start="39" class="pre-context" id="pre139742758343528">
<li onclick="toggle('pre139742758343528', 'post139742758343528')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758343528', 'post139742758343528')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758343528', 'post139742758343528')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758343528', 'post139742758343528')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758343528', 'post139742758343528')"><pre> )</pre></li>
<li onclick="toggle('pre139742758343528', 'post139742758343528')"><pre> )</pre></li>
<li onclick="toggle('pre139742758343528', 'post139742758343528')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758343528', 'post139742758343528')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758343528">
<li onclick="toggle('pre139742758343528', 'post139742758343528')"><pre></pre></li>
<li onclick="toggle('pre139742758343528', 'post139742758343528')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758343528', 'post139742758343528')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758343528', 'post139742758343528')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758343528', 'post139742758343528')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758343528', 'post139742758343528')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758343528')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758343528">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758318448">
<ol start="60" class="pre-context" id="pre139742758318448">
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre></pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758318448">
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758318448', 'post139742758318448')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758318448')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758318448">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758344392">
<ol start="58" class="pre-context" id="pre139742758344392">
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> """</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758344392">
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> )</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre></pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre></pre></li>
<li onclick="toggle('pre139742758344392', 'post139742758344392')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758344392')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758344392">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57851'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877968647644'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18658ba1b0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186577fdb0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365774 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:240)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:212)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_PidMismatch(MNStorageV2IT.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:245)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:212)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_PidMismatch(MNStorageV2IT.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: 0 Client_Error: class org.dataone.exceptions.MarshallingException: null [for host GET https://test.arcticdata.io/metacat/d1/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232365811 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:240)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:212)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_PidMismatch(MNStorageV2IT.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:245)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:212)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_PidMismatch(MNStorageV2IT.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://dataone-test.researchworkspace.com/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372314 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:240)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:212)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_PidMismatch(MNStorageV2IT.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:07:02 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358563080312">
<ol start="32" class="pre-context" id="pre140358563080312">
<li onclick="toggle('pre140358563080312', 'post140358563080312')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358563080312', 'post140358563080312')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358563080312', 'post140358563080312')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358563080312', 'post140358563080312')"><pre> """</pre></li>
<li onclick="toggle('pre140358563080312', 'post140358563080312')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358563080312', 'post140358563080312')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358563080312', 'post140358563080312')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358563080312', 'post140358563080312')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358563080312">
<li onclick="toggle('pre140358563080312', 'post140358563080312')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358563080312', 'post140358563080312')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358563080312', 'post140358563080312')"><pre> return response</pre></li>
<li onclick="toggle('pre140358563080312', 'post140358563080312')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358563080312', 'post140358563080312')"><pre></pre></li>
<li onclick="toggle('pre140358563080312', 'post140358563080312')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563080312')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563080312">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358563078584">
<ol start="242" class="pre-context" id="pre140358563078584">
<li onclick="toggle('pre140358563078584', 'post140358563078584')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358563078584', 'post140358563078584')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358563078584', 'post140358563078584')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358563078584', 'post140358563078584')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563078584', 'post140358563078584')"><pre> break</pre></li>
<li onclick="toggle('pre140358563078584', 'post140358563078584')"><pre></pre></li>
<li onclick="toggle('pre140358563078584', 'post140358563078584')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358563078584', 'post140358563078584')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358563078584">
<li onclick="toggle('pre140358563078584', 'post140358563078584')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563078584')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563078584">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358574542288">
<ol start="171" class="pre-context" id="pre140358574542288">
<li onclick="toggle('pre140358574542288', 'post140358574542288')"><pre></pre></li>
<li onclick="toggle('pre140358574542288', 'post140358574542288')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358574542288', 'post140358574542288')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358574542288', 'post140358574542288')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358574542288', 'post140358574542288')"><pre></pre></li>
<li onclick="toggle('pre140358574542288', 'post140358574542288')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358574542288', 'post140358574542288')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358574542288', 'post140358574542288')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358574542288">
<li onclick="toggle('pre140358574542288', 'post140358574542288')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358574542288', 'post140358574542288')"><pre> break</pre></li>
<li onclick="toggle('pre140358574542288', 'post140358574542288')"><pre></pre></li>
<li onclick="toggle('pre140358574542288', 'post140358574542288')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358574542288', 'post140358574542288')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358574542288', 'post140358574542288')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358574542288')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358574542288">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358563229064">
<ol start="44" class="pre-context" id="pre140358563229064">
<li onclick="toggle('pre140358563229064', 'post140358563229064')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358563229064', 'post140358563229064')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358563229064', 'post140358563229064')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358563229064', 'post140358563229064')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358563229064', 'post140358563229064')"><pre> )</pre></li>
<li onclick="toggle('pre140358563229064', 'post140358563229064')"><pre> )</pre></li>
<li onclick="toggle('pre140358563229064', 'post140358563229064')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358563229064', 'post140358563229064')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358563229064">
<li onclick="toggle('pre140358563229064', 'post140358563229064')"><pre></pre></li>
<li onclick="toggle('pre140358563229064', 'post140358563229064')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358563229064', 'post140358563229064')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358563229064', 'post140358563229064')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358563229064', 'post140358563229064')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358563229064', 'post140358563229064')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563229064')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563229064">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358563457864">
<ol start="66" class="pre-context" id="pre140358563457864">
<li onclick="toggle('pre140358563457864', 'post140358563457864')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358563457864', 'post140358563457864')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358563457864', 'post140358563457864')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358563457864', 'post140358563457864')"><pre></pre></li>
<li onclick="toggle('pre140358563457864', 'post140358563457864')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358563457864', 'post140358563457864')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358563457864', 'post140358563457864')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358563457864', 'post140358563457864')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358563457864">
<li onclick="toggle('pre140358563457864', 'post140358563457864')"><pre> )</pre></li>
<li onclick="toggle('pre140358563457864', 'post140358563457864')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358563457864', 'post140358563457864')"><pre> request</pre></li>
<li onclick="toggle('pre140358563457864', 'post140358563457864')"><pre> )</pre></li>
<li onclick="toggle('pre140358563457864', 'post140358563457864')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358563457864', 'post140358563457864')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563457864')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563457864">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358563078440">
<ol start="62" class="pre-context" id="pre140358563078440">
<li onclick="toggle('pre140358563078440', 'post140358563078440')"><pre> """</pre></li>
<li onclick="toggle('pre140358563078440', 'post140358563078440')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358563078440', 'post140358563078440')"><pre> try:</pre></li>
<li onclick="toggle('pre140358563078440', 'post140358563078440')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358563078440', 'post140358563078440')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358563078440', 'post140358563078440')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358563078440', 'post140358563078440')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358563078440', 'post140358563078440')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358563078440">
<li onclick="toggle('pre140358563078440', 'post140358563078440')"><pre> )</pre></li>
<li onclick="toggle('pre140358563078440', 'post140358563078440')"><pre> else:</pre></li>
<li onclick="toggle('pre140358563078440', 'post140358563078440')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358563078440', 'post140358563078440')"><pre></pre></li>
<li onclick="toggle('pre140358563078440', 'post140358563078440')"><pre></pre></li>
<li onclick="toggle('pre140358563078440', 'post140358563078440')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563078440')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563078440">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'59453'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493878022507599'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493878022507464'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493878022507254'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493878022507631'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c64a3348></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c68b21b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372470 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:240)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:212)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_PidMismatch(MNStorageV2IT.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://ncei.nceas.ucsb.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20171232372613 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:240)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:212)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_PidMismatch(MNStorageV2IT.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: updateSystemMetadata call shouldn't fail if metadata was not modified. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:06:20 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742735532472">
<ol start="32" class="pre-context" id="pre139742735532472">
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> """</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742735532472">
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> return response</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre></pre></li>
<li onclick="toggle('pre139742735532472', 'post139742735532472')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735532472')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735532472">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742735534056">
<ol start="242" class="pre-context" id="pre139742735534056">
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> break</pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre></pre></li>
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742735534056">
<li onclick="toggle('pre139742735534056', 'post139742735534056')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735534056')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735534056">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742757961024">
<ol start="171" class="pre-context" id="pre139742757961024">
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre></pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre></pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742757961024">
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> break</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre></pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742757961024', 'post139742757961024')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757961024')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757961024">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879',), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742794242888">
<ol start="39" class="pre-context" id="pre139742794242888">
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> )</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> )</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742794242888">
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre></pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742794242888', 'post139742794242888')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794242888')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794242888">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742737518392">
<ol start="60" class="pre-context" id="pre139742737518392">
<li onclick="toggle('pre139742737518392', 'post139742737518392')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742737518392', 'post139742737518392')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742737518392', 'post139742737518392')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742737518392', 'post139742737518392')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742737518392', 'post139742737518392')"><pre></pre></li>
<li onclick="toggle('pre139742737518392', 'post139742737518392')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742737518392', 'post139742737518392')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742737518392', 'post139742737518392')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742737518392">
<li onclick="toggle('pre139742737518392', 'post139742737518392')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742737518392', 'post139742737518392')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742737518392', 'post139742737518392')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742737518392', 'post139742737518392')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742737518392', 'post139742737518392')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742737518392', 'post139742737518392')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737518392')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737518392">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742735535280">
<ol start="58" class="pre-context" id="pre139742735535280">
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> """</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> try:</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742735535280">
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> )</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> else:</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre></pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre></pre></li>
<li onclick="toggle('pre139742735535280', 'post139742735535280')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735535280')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735535280">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57933'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493877980028246'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18655d08b0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18655d0ef0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232379879 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified(UpdateSystemMetadataTestImplementations.java:276)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified(UpdateSystemMetadataTestImplementations.java:255)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_SysmetaUnmodified(MNStorageV2IT.java:186)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: updateSystemMetadata call shouldn't fail if metadata was not modified. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified(UpdateSystemMetadataTestImplementations.java:282)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified(UpdateSystemMetadataTestImplementations.java:255)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_SysmetaUnmodified(MNStorageV2IT.java:186)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: updateSystemMetadata call shouldn't fail if metadata was not modified. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified(UpdateSystemMetadataTestImplementations.java:282)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified(UpdateSystemMetadataTestImplementations.java:255)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_SysmetaUnmodified(MNStorageV2IT.java:186)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: updateSystemMetadata call shouldn't fail if metadata was not modified. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://dataone-test.researchworkspace.com/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified201712323714915 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified(UpdateSystemMetadataTestImplementations.java:276)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified(UpdateSystemMetadataTestImplementations.java:255)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_SysmetaUnmodified(MNStorageV2IT.java:186)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: updateSystemMetadata call shouldn't fail if metadata was not modified. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:07:15 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358564893544">
<ol start="32" class="pre-context" id="pre140358564893544">
<li onclick="toggle('pre140358564893544', 'post140358564893544')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358564893544', 'post140358564893544')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358564893544', 'post140358564893544')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358564893544', 'post140358564893544')"><pre> """</pre></li>
<li onclick="toggle('pre140358564893544', 'post140358564893544')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358564893544', 'post140358564893544')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358564893544', 'post140358564893544')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358564893544', 'post140358564893544')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358564893544">
<li onclick="toggle('pre140358564893544', 'post140358564893544')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358564893544', 'post140358564893544')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358564893544', 'post140358564893544')"><pre> return response</pre></li>
<li onclick="toggle('pre140358564893544', 'post140358564893544')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358564893544', 'post140358564893544')"><pre></pre></li>
<li onclick="toggle('pre140358564893544', 'post140358564893544')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564893544')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564893544">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358563018584">
<ol start="242" class="pre-context" id="pre140358563018584">
<li onclick="toggle('pre140358563018584', 'post140358563018584')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358563018584', 'post140358563018584')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358563018584', 'post140358563018584')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358563018584', 'post140358563018584')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563018584', 'post140358563018584')"><pre> break</pre></li>
<li onclick="toggle('pre140358563018584', 'post140358563018584')"><pre></pre></li>
<li onclick="toggle('pre140358563018584', 'post140358563018584')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358563018584', 'post140358563018584')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358563018584">
<li onclick="toggle('pre140358563018584', 'post140358563018584')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563018584')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563018584">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358563017504">
<ol start="171" class="pre-context" id="pre140358563017504">
<li onclick="toggle('pre140358563017504', 'post140358563017504')"><pre></pre></li>
<li onclick="toggle('pre140358563017504', 'post140358563017504')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358563017504', 'post140358563017504')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358563017504', 'post140358563017504')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358563017504', 'post140358563017504')"><pre></pre></li>
<li onclick="toggle('pre140358563017504', 'post140358563017504')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358563017504', 'post140358563017504')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358563017504', 'post140358563017504')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358563017504">
<li onclick="toggle('pre140358563017504', 'post140358563017504')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563017504', 'post140358563017504')"><pre> break</pre></li>
<li onclick="toggle('pre140358563017504', 'post140358563017504')"><pre></pre></li>
<li onclick="toggle('pre140358563017504', 'post140358563017504')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358563017504', 'post140358563017504')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358563017504', 'post140358563017504')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563017504')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563017504">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358564817304">
<ol start="44" class="pre-context" id="pre140358564817304">
<li onclick="toggle('pre140358564817304', 'post140358564817304')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358564817304', 'post140358564817304')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358564817304', 'post140358564817304')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358564817304', 'post140358564817304')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358564817304', 'post140358564817304')"><pre> )</pre></li>
<li onclick="toggle('pre140358564817304', 'post140358564817304')"><pre> )</pre></li>
<li onclick="toggle('pre140358564817304', 'post140358564817304')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358564817304', 'post140358564817304')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358564817304">
<li onclick="toggle('pre140358564817304', 'post140358564817304')"><pre></pre></li>
<li onclick="toggle('pre140358564817304', 'post140358564817304')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358564817304', 'post140358564817304')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358564817304', 'post140358564817304')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358564817304', 'post140358564817304')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358564817304', 'post140358564817304')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564817304')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564817304">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358564818456">
<ol start="66" class="pre-context" id="pre140358564818456">
<li onclick="toggle('pre140358564818456', 'post140358564818456')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358564818456', 'post140358564818456')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358564818456', 'post140358564818456')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358564818456', 'post140358564818456')"><pre></pre></li>
<li onclick="toggle('pre140358564818456', 'post140358564818456')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358564818456', 'post140358564818456')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358564818456', 'post140358564818456')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358564818456', 'post140358564818456')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358564818456">
<li onclick="toggle('pre140358564818456', 'post140358564818456')"><pre> )</pre></li>
<li onclick="toggle('pre140358564818456', 'post140358564818456')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358564818456', 'post140358564818456')"><pre> request</pre></li>
<li onclick="toggle('pre140358564818456', 'post140358564818456')"><pre> )</pre></li>
<li onclick="toggle('pre140358564818456', 'post140358564818456')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358564818456', 'post140358564818456')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564818456')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564818456">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358564817592">
<ol start="62" class="pre-context" id="pre140358564817592">
<li onclick="toggle('pre140358564817592', 'post140358564817592')"><pre> """</pre></li>
<li onclick="toggle('pre140358564817592', 'post140358564817592')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358564817592', 'post140358564817592')"><pre> try:</pre></li>
<li onclick="toggle('pre140358564817592', 'post140358564817592')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358564817592', 'post140358564817592')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358564817592', 'post140358564817592')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358564817592', 'post140358564817592')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358564817592', 'post140358564817592')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358564817592">
<li onclick="toggle('pre140358564817592', 'post140358564817592')"><pre> )</pre></li>
<li onclick="toggle('pre140358564817592', 'post140358564817592')"><pre> else:</pre></li>
<li onclick="toggle('pre140358564817592', 'post140358564817592')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358564817592', 'post140358564817592')"><pre></pre></li>
<li onclick="toggle('pre140358564817592', 'post140358564817592')"><pre></pre></li>
<li onclick="toggle('pre140358564817592', 'post140358564817592')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564817592')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564817592">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'59546'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493878035103125'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493878035102994'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493878035102787'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493878035103157'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c650eb28></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c6823470></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20171232371571 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified(UpdateSystemMetadataTestImplementations.java:276)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified(UpdateSystemMetadataTestImplementations.java:255)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_SysmetaUnmodified(MNStorageV2IT.java:186)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: updateSystemMetadata call shouldn't fail if metadata was not modified. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://ncei.nceas.ucsb.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified201712323715230 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified(UpdateSystemMetadataTestImplementations.java:276)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified(UpdateSystemMetadataTestImplementations.java:255)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_SysmetaUnmodified(MNStorageV2IT.java:186)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:06:50 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758698232">
<ol start="32" class="pre-context" id="pre139742758698232">
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> """</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758698232">
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre></pre></li>
<li onclick="toggle('pre139742758698232', 'post139742758698232')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758698232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758698232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758744504">
<ol start="242" class="pre-context" id="pre139742758744504">
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> break</pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre></pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758744504">
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758744504')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758744504">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758746232">
<ol start="171" class="pre-context" id="pre139742758746232">
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre></pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre></pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758746232">
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> break</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre></pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758746232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758746232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758744720">
<ol start="39" class="pre-context" id="pre139742758744720">
<li onclick="toggle('pre139742758744720', 'post139742758744720')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758744720', 'post139742758744720')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758744720', 'post139742758744720')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758744720', 'post139742758744720')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758744720', 'post139742758744720')"><pre> )</pre></li>
<li onclick="toggle('pre139742758744720', 'post139742758744720')"><pre> )</pre></li>
<li onclick="toggle('pre139742758744720', 'post139742758744720')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758744720', 'post139742758744720')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758744720">
<li onclick="toggle('pre139742758744720', 'post139742758744720')"><pre></pre></li>
<li onclick="toggle('pre139742758744720', 'post139742758744720')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758744720', 'post139742758744720')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758744720', 'post139742758744720')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758744720', 'post139742758744720')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758744720', 'post139742758744720')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758744720')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758744720">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758746520">
<ol start="60" class="pre-context" id="pre139742758746520">
<li onclick="toggle('pre139742758746520', 'post139742758746520')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758746520', 'post139742758746520')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758746520', 'post139742758746520')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758746520', 'post139742758746520')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758746520', 'post139742758746520')"><pre></pre></li>
<li onclick="toggle('pre139742758746520', 'post139742758746520')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758746520', 'post139742758746520')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758746520', 'post139742758746520')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758746520">
<li onclick="toggle('pre139742758746520', 'post139742758746520')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758746520', 'post139742758746520')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758746520', 'post139742758746520')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758746520', 'post139742758746520')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758746520', 'post139742758746520')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758746520', 'post139742758746520')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758746520')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758746520">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742761831024">
<ol start="58" class="pre-context" id="pre139742761831024">
<li onclick="toggle('pre139742761831024', 'post139742761831024')"><pre> """</pre></li>
<li onclick="toggle('pre139742761831024', 'post139742761831024')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742761831024', 'post139742761831024')"><pre> try:</pre></li>
<li onclick="toggle('pre139742761831024', 'post139742761831024')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742761831024', 'post139742761831024')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742761831024', 'post139742761831024')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742761831024', 'post139742761831024')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742761831024', 'post139742761831024')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742761831024">
<li onclick="toggle('pre139742761831024', 'post139742761831024')"><pre> )</pre></li>
<li onclick="toggle('pre139742761831024', 'post139742761831024')"><pre> else:</pre></li>
<li onclick="toggle('pre139742761831024', 'post139742761831024')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742761831024', 'post139742761831024')"><pre></pre></li>
<li onclick="toggle('pre139742761831024', 'post139742761831024')"><pre></pre></li>
<li onclick="toggle('pre139742761831024', 'post139742761831024')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761831024')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761831024">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableRightsHolder_201712323743498'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2308437348158683817.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3356671078045088281.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18974'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=v2YAxEZ4-jlXMZwC3SRIKSwA_zStOhL8Aqu'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58067'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493878010418832'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186589a1b0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18658a4d70></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:217)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:174)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableRightsHolder(MNStorageV2IT.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:217)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:174)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableRightsHolder(MNStorageV2IT.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:217)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:174)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableRightsHolder(MNStorageV2IT.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:217)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:174)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableRightsHolder(MNStorageV2IT.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:08:05 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562297328">
<ol start="32" class="pre-context" id="pre140358562297328">
<li onclick="toggle('pre140358562297328', 'post140358562297328')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562297328', 'post140358562297328')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562297328', 'post140358562297328')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562297328', 'post140358562297328')"><pre> """</pre></li>
<li onclick="toggle('pre140358562297328', 'post140358562297328')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562297328', 'post140358562297328')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562297328', 'post140358562297328')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562297328', 'post140358562297328')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562297328">
<li onclick="toggle('pre140358562297328', 'post140358562297328')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562297328', 'post140358562297328')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562297328', 'post140358562297328')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562297328', 'post140358562297328')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562297328', 'post140358562297328')"><pre></pre></li>
<li onclick="toggle('pre140358562297328', 'post140358562297328')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562297328')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562297328">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562282312">
<ol start="242" class="pre-context" id="pre140358562282312">
<li onclick="toggle('pre140358562282312', 'post140358562282312')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562282312', 'post140358562282312')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562282312', 'post140358562282312')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562282312', 'post140358562282312')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562282312', 'post140358562282312')"><pre> break</pre></li>
<li onclick="toggle('pre140358562282312', 'post140358562282312')"><pre></pre></li>
<li onclick="toggle('pre140358562282312', 'post140358562282312')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562282312', 'post140358562282312')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562282312">
<li onclick="toggle('pre140358562282312', 'post140358562282312')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562282312')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562282312">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358564339008">
<ol start="171" class="pre-context" id="pre140358564339008">
<li onclick="toggle('pre140358564339008', 'post140358564339008')"><pre></pre></li>
<li onclick="toggle('pre140358564339008', 'post140358564339008')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358564339008', 'post140358564339008')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358564339008', 'post140358564339008')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358564339008', 'post140358564339008')"><pre></pre></li>
<li onclick="toggle('pre140358564339008', 'post140358564339008')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358564339008', 'post140358564339008')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358564339008', 'post140358564339008')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358564339008">
<li onclick="toggle('pre140358564339008', 'post140358564339008')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564339008', 'post140358564339008')"><pre> break</pre></li>
<li onclick="toggle('pre140358564339008', 'post140358564339008')"><pre></pre></li>
<li onclick="toggle('pre140358564339008', 'post140358564339008')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358564339008', 'post140358564339008')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358564339008', 'post140358564339008')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564339008')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564339008">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562826144">
<ol start="44" class="pre-context" id="pre140358562826144">
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> )</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> )</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562826144">
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre></pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562826144', 'post140358562826144')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562826144')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562826144">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562828160">
<ol start="66" class="pre-context" id="pre140358562828160">
<li onclick="toggle('pre140358562828160', 'post140358562828160')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562828160', 'post140358562828160')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562828160', 'post140358562828160')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562828160', 'post140358562828160')"><pre></pre></li>
<li onclick="toggle('pre140358562828160', 'post140358562828160')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562828160', 'post140358562828160')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562828160', 'post140358562828160')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562828160', 'post140358562828160')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562828160">
<li onclick="toggle('pre140358562828160', 'post140358562828160')"><pre> )</pre></li>
<li onclick="toggle('pre140358562828160', 'post140358562828160')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562828160', 'post140358562828160')"><pre> request</pre></li>
<li onclick="toggle('pre140358562828160', 'post140358562828160')"><pre> )</pre></li>
<li onclick="toggle('pre140358562828160', 'post140358562828160')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562828160', 'post140358562828160')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562828160')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562828160">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562299272">
<ol start="62" class="pre-context" id="pre140358562299272">
<li onclick="toggle('pre140358562299272', 'post140358562299272')"><pre> """</pre></li>
<li onclick="toggle('pre140358562299272', 'post140358562299272')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562299272', 'post140358562299272')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562299272', 'post140358562299272')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562299272', 'post140358562299272')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562299272', 'post140358562299272')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562299272', 'post140358562299272')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562299272', 'post140358562299272')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562299272">
<li onclick="toggle('pre140358562299272', 'post140358562299272')"><pre> )</pre></li>
<li onclick="toggle('pre140358562299272', 'post140358562299272')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562299272', 'post140358562299272')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562299272', 'post140358562299272')"><pre></pre></li>
<li onclick="toggle('pre140358562299272', 'post140358562299272')"><pre></pre></li>
<li onclick="toggle('pre140358562299272', 'post140358562299272')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562299272')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562299272">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableRightsHolder_20171232384978'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8634839045566387588.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3833905732343835358.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18954'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=hT7lvSJ0E5KnGCdsRJ3EWVFg3j-QJV8'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'59705'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493878085154998'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493878085154847'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493878085154628'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493878085155032'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c6522078></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c73d9f30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:217)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:174)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableRightsHolder(MNStorageV2IT.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:217)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:174)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableRightsHolder(MNStorageV2IT.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:07:35 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742761839648">
<ol start="32" class="pre-context" id="pre139742761839648">
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> """</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742761839648">
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> return response</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre></pre></li>
<li onclick="toggle('pre139742761839648', 'post139742761839648')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761839648')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761839648">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742761838496">
<ol start="242" class="pre-context" id="pre139742761838496">
<li onclick="toggle('pre139742761838496', 'post139742761838496')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742761838496', 'post139742761838496')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742761838496', 'post139742761838496')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742761838496', 'post139742761838496')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761838496', 'post139742761838496')"><pre> break</pre></li>
<li onclick="toggle('pre139742761838496', 'post139742761838496')"><pre></pre></li>
<li onclick="toggle('pre139742761838496', 'post139742761838496')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742761838496', 'post139742761838496')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742761838496">
<li onclick="toggle('pre139742761838496', 'post139742761838496')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761838496')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761838496">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742761840152">
<ol start="171" class="pre-context" id="pre139742761840152">
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre></pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre></pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742761840152">
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> break</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre></pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742761840152', 'post139742761840152')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761840152')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761840152">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742761840080">
<ol start="39" class="pre-context" id="pre139742761840080">
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> )</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> )</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742761840080">
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre></pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742761840080', 'post139742761840080')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761840080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761840080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758013912">
<ol start="60" class="pre-context" id="pre139742758013912">
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre></pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758013912">
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758013912', 'post139742758013912')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758013912')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758013912">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742761840224">
<ol start="58" class="pre-context" id="pre139742761840224">
<li onclick="toggle('pre139742761840224', 'post139742761840224')"><pre> """</pre></li>
<li onclick="toggle('pre139742761840224', 'post139742761840224')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742761840224', 'post139742761840224')"><pre> try:</pre></li>
<li onclick="toggle('pre139742761840224', 'post139742761840224')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742761840224', 'post139742761840224')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742761840224', 'post139742761840224')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742761840224', 'post139742761840224')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742761840224', 'post139742761840224')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742761840224">
<li onclick="toggle('pre139742761840224', 'post139742761840224')"><pre> )</pre></li>
<li onclick="toggle('pre139742761840224', 'post139742761840224')"><pre> else:</pre></li>
<li onclick="toggle('pre139742761840224', 'post139742761840224')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742761840224', 'post139742761840224')"><pre></pre></li>
<li onclick="toggle('pre139742761840224', 'post139742761840224')"><pre></pre></li>
<li onclick="toggle('pre139742761840224', 'post139742761840224')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761840224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761840224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableFormat_201712323833670'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3976463462422855954.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8967036051063062827.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18946'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=saxFmc_TWGQZwWsW7nAVRfO5qaQ9lj4'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58223'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493878055537152'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18659d7870></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18659d7970></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:270)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:229)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableFormat(MNStorageV2IT.java:198)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:270)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:229)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableFormat(MNStorageV2IT.java:198)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:270)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:229)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableFormat(MNStorageV2IT.java:198)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:270)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:229)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableFormat(MNStorageV2IT.java:198)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:08:50 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358531819352">
<ol start="32" class="pre-context" id="pre140358531819352">
<li onclick="toggle('pre140358531819352', 'post140358531819352')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358531819352', 'post140358531819352')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358531819352', 'post140358531819352')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358531819352', 'post140358531819352')"><pre> """</pre></li>
<li onclick="toggle('pre140358531819352', 'post140358531819352')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358531819352', 'post140358531819352')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358531819352', 'post140358531819352')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358531819352', 'post140358531819352')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358531819352">
<li onclick="toggle('pre140358531819352', 'post140358531819352')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358531819352', 'post140358531819352')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358531819352', 'post140358531819352')"><pre> return response</pre></li>
<li onclick="toggle('pre140358531819352', 'post140358531819352')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358531819352', 'post140358531819352')"><pre></pre></li>
<li onclick="toggle('pre140358531819352', 'post140358531819352')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531819352')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531819352">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358531818560">
<ol start="242" class="pre-context" id="pre140358531818560">
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> break</pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre></pre></li>
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358531818560">
<li onclick="toggle('pre140358531818560', 'post140358531818560')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531818560')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531818560">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358531818344">
<ol start="171" class="pre-context" id="pre140358531818344">
<li onclick="toggle('pre140358531818344', 'post140358531818344')"><pre></pre></li>
<li onclick="toggle('pre140358531818344', 'post140358531818344')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358531818344', 'post140358531818344')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358531818344', 'post140358531818344')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358531818344', 'post140358531818344')"><pre></pre></li>
<li onclick="toggle('pre140358531818344', 'post140358531818344')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358531818344', 'post140358531818344')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358531818344', 'post140358531818344')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358531818344">
<li onclick="toggle('pre140358531818344', 'post140358531818344')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358531818344', 'post140358531818344')"><pre> break</pre></li>
<li onclick="toggle('pre140358531818344', 'post140358531818344')"><pre></pre></li>
<li onclick="toggle('pre140358531818344', 'post140358531818344')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358531818344', 'post140358531818344')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358531818344', 'post140358531818344')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531818344')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531818344">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358531820072">
<ol start="44" class="pre-context" id="pre140358531820072">
<li onclick="toggle('pre140358531820072', 'post140358531820072')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358531820072', 'post140358531820072')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358531820072', 'post140358531820072')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358531820072', 'post140358531820072')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358531820072', 'post140358531820072')"><pre> )</pre></li>
<li onclick="toggle('pre140358531820072', 'post140358531820072')"><pre> )</pre></li>
<li onclick="toggle('pre140358531820072', 'post140358531820072')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358531820072', 'post140358531820072')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358531820072">
<li onclick="toggle('pre140358531820072', 'post140358531820072')"><pre></pre></li>
<li onclick="toggle('pre140358531820072', 'post140358531820072')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358531820072', 'post140358531820072')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358531820072', 'post140358531820072')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358531820072', 'post140358531820072')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358531820072', 'post140358531820072')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531820072')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531820072">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358534279824">
<ol start="66" class="pre-context" id="pre140358534279824">
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre></pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358534279824">
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> )</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> request</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> )</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358534279824', 'post140358534279824')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534279824')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534279824">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358531818704">
<ol start="62" class="pre-context" id="pre140358531818704">
<li onclick="toggle('pre140358531818704', 'post140358531818704')"><pre> """</pre></li>
<li onclick="toggle('pre140358531818704', 'post140358531818704')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358531818704', 'post140358531818704')"><pre> try:</pre></li>
<li onclick="toggle('pre140358531818704', 'post140358531818704')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358531818704', 'post140358531818704')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358531818704', 'post140358531818704')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358531818704', 'post140358531818704')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358531818704', 'post140358531818704')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358531818704">
<li onclick="toggle('pre140358531818704', 'post140358531818704')"><pre> )</pre></li>
<li onclick="toggle('pre140358531818704', 'post140358531818704')"><pre> else:</pre></li>
<li onclick="toggle('pre140358531818704', 'post140358531818704')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358531818704', 'post140358531818704')"><pre></pre></li>
<li onclick="toggle('pre140358531818704', 'post140358531818704')"><pre></pre></li>
<li onclick="toggle('pre140358531818704', 'post140358531818704')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531818704')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531818704">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableFormat_201712323849878'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5182844214963798449.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.996675045678787978.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18947'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=GQuahr4mV7ZZMCF8VHS3jYYi3b7vQl_9'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'59872'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493878130119478'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493878130119276'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493878130119009'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493878130119524'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c4941ed0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c73d9f30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:270)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:229)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableFormat(MNStorageV2IT.java:198)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:270)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:229)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableFormat(MNStorageV2IT.java:198)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:08:16 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758744504">
<ol start="32" class="pre-context" id="pre139742758744504">
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> """</pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758744504">
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre></pre></li>
<li onclick="toggle('pre139742758744504', 'post139742758744504')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758744504')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758744504">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758747024">
<ol start="242" class="pre-context" id="pre139742758747024">
<li onclick="toggle('pre139742758747024', 'post139742758747024')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758747024', 'post139742758747024')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758747024', 'post139742758747024')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758747024', 'post139742758747024')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758747024', 'post139742758747024')"><pre> break</pre></li>
<li onclick="toggle('pre139742758747024', 'post139742758747024')"><pre></pre></li>
<li onclick="toggle('pre139742758747024', 'post139742758747024')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758747024', 'post139742758747024')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758747024">
<li onclick="toggle('pre139742758747024', 'post139742758747024')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758747024')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758747024">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758747960">
<ol start="171" class="pre-context" id="pre139742758747960">
<li onclick="toggle('pre139742758747960', 'post139742758747960')"><pre></pre></li>
<li onclick="toggle('pre139742758747960', 'post139742758747960')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758747960', 'post139742758747960')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758747960', 'post139742758747960')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758747960', 'post139742758747960')"><pre></pre></li>
<li onclick="toggle('pre139742758747960', 'post139742758747960')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758747960', 'post139742758747960')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758747960', 'post139742758747960')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758747960">
<li onclick="toggle('pre139742758747960', 'post139742758747960')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758747960', 'post139742758747960')"><pre> break</pre></li>
<li onclick="toggle('pre139742758747960', 'post139742758747960')"><pre></pre></li>
<li onclick="toggle('pre139742758747960', 'post139742758747960')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758747960', 'post139742758747960')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758747960', 'post139742758747960')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758747960')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758747960">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758747168">
<ol start="39" class="pre-context" id="pre139742758747168">
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> )</pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> )</pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758747168">
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre></pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758747168')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758747168">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758362648">
<ol start="60" class="pre-context" id="pre139742758362648">
<li onclick="toggle('pre139742758362648', 'post139742758362648')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758362648', 'post139742758362648')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758362648', 'post139742758362648')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758362648', 'post139742758362648')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758362648', 'post139742758362648')"><pre></pre></li>
<li onclick="toggle('pre139742758362648', 'post139742758362648')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758362648', 'post139742758362648')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758362648', 'post139742758362648')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758362648">
<li onclick="toggle('pre139742758362648', 'post139742758362648')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758362648', 'post139742758362648')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758362648', 'post139742758362648')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758362648', 'post139742758362648')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758362648', 'post139742758362648')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758362648', 'post139742758362648')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758362648')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758362648">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758746376">
<ol start="58" class="pre-context" id="pre139742758746376">
<li onclick="toggle('pre139742758746376', 'post139742758746376')"><pre> """</pre></li>
<li onclick="toggle('pre139742758746376', 'post139742758746376')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758746376', 'post139742758746376')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758746376', 'post139742758746376')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758746376', 'post139742758746376')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758746376', 'post139742758746376')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758746376', 'post139742758746376')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758746376', 'post139742758746376')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758746376">
<li onclick="toggle('pre139742758746376', 'post139742758746376')"><pre> )</pre></li>
<li onclick="toggle('pre139742758746376', 'post139742758746376')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758746376', 'post139742758746376')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758746376', 'post139742758746376')"><pre></pre></li>
<li onclick="toggle('pre139742758746376', 'post139742758746376')"><pre></pre></li>
<li onclick="toggle('pre139742758746376', 'post139742758746376')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758746376')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758746376">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableAccessPolicy_201712323918939'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5064789928147022336.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2540755245015863136.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18982'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=r4l2Yk9qzBQhLa_HOORbJgO0B0RmpLtpqLkDV'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58410'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493878096273934'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1865817470></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186598ecf0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:338)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:282)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableAccessPolicy(MNStorageV2IT.java:204)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:338)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:282)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableAccessPolicy(MNStorageV2IT.java:204)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:338)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:282)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableAccessPolicy(MNStorageV2IT.java:204)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:338)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:282)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableAccessPolicy(MNStorageV2IT.java:204)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:09:35 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562311848">
<ol start="32" class="pre-context" id="pre140358562311848">
<li onclick="toggle('pre140358562311848', 'post140358562311848')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562311848', 'post140358562311848')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562311848', 'post140358562311848')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562311848', 'post140358562311848')"><pre> """</pre></li>
<li onclick="toggle('pre140358562311848', 'post140358562311848')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562311848', 'post140358562311848')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562311848', 'post140358562311848')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562311848', 'post140358562311848')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562311848">
<li onclick="toggle('pre140358562311848', 'post140358562311848')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562311848', 'post140358562311848')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562311848', 'post140358562311848')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562311848', 'post140358562311848')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562311848', 'post140358562311848')"><pre></pre></li>
<li onclick="toggle('pre140358562311848', 'post140358562311848')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562311848')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562311848">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562295960">
<ol start="242" class="pre-context" id="pre140358562295960">
<li onclick="toggle('pre140358562295960', 'post140358562295960')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562295960', 'post140358562295960')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562295960', 'post140358562295960')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562295960', 'post140358562295960')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562295960', 'post140358562295960')"><pre> break</pre></li>
<li onclick="toggle('pre140358562295960', 'post140358562295960')"><pre></pre></li>
<li onclick="toggle('pre140358562295960', 'post140358562295960')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562295960', 'post140358562295960')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562295960">
<li onclick="toggle('pre140358562295960', 'post140358562295960')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562295960')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562295960">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358564883200">
<ol start="171" class="pre-context" id="pre140358564883200">
<li onclick="toggle('pre140358564883200', 'post140358564883200')"><pre></pre></li>
<li onclick="toggle('pre140358564883200', 'post140358564883200')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358564883200', 'post140358564883200')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358564883200', 'post140358564883200')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358564883200', 'post140358564883200')"><pre></pre></li>
<li onclick="toggle('pre140358564883200', 'post140358564883200')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358564883200', 'post140358564883200')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358564883200', 'post140358564883200')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358564883200">
<li onclick="toggle('pre140358564883200', 'post140358564883200')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358564883200', 'post140358564883200')"><pre> break</pre></li>
<li onclick="toggle('pre140358564883200', 'post140358564883200')"><pre></pre></li>
<li onclick="toggle('pre140358564883200', 'post140358564883200')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358564883200', 'post140358564883200')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358564883200', 'post140358564883200')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564883200')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564883200">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358564895992">
<ol start="44" class="pre-context" id="pre140358564895992">
<li onclick="toggle('pre140358564895992', 'post140358564895992')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358564895992', 'post140358564895992')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358564895992', 'post140358564895992')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358564895992', 'post140358564895992')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358564895992', 'post140358564895992')"><pre> )</pre></li>
<li onclick="toggle('pre140358564895992', 'post140358564895992')"><pre> )</pre></li>
<li onclick="toggle('pre140358564895992', 'post140358564895992')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358564895992', 'post140358564895992')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358564895992">
<li onclick="toggle('pre140358564895992', 'post140358564895992')"><pre></pre></li>
<li onclick="toggle('pre140358564895992', 'post140358564895992')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358564895992', 'post140358564895992')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358564895992', 'post140358564895992')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358564895992', 'post140358564895992')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358564895992', 'post140358564895992')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564895992')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564895992">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358564464904">
<ol start="66" class="pre-context" id="pre140358564464904">
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre></pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358564464904">
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> )</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> request</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> )</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358564464904', 'post140358564464904')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564464904')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564464904">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358564466272">
<ol start="62" class="pre-context" id="pre140358564466272">
<li onclick="toggle('pre140358564466272', 'post140358564466272')"><pre> """</pre></li>
<li onclick="toggle('pre140358564466272', 'post140358564466272')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358564466272', 'post140358564466272')"><pre> try:</pre></li>
<li onclick="toggle('pre140358564466272', 'post140358564466272')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358564466272', 'post140358564466272')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358564466272', 'post140358564466272')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358564466272', 'post140358564466272')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358564466272', 'post140358564466272')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358564466272">
<li onclick="toggle('pre140358564466272', 'post140358564466272')"><pre> )</pre></li>
<li onclick="toggle('pre140358564466272', 'post140358564466272')"><pre> else:</pre></li>
<li onclick="toggle('pre140358564466272', 'post140358564466272')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358564466272', 'post140358564466272')"><pre></pre></li>
<li onclick="toggle('pre140358564466272', 'post140358564466272')"><pre></pre></li>
<li onclick="toggle('pre140358564466272', 'post140358564466272')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358564466272')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358564466272">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableAccessPolicy_201712323935157'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1120454070201254167.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6848538860429883210.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18960'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=4KuLWaWLEzq6Y943uba6BqRbwp3Si51v'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'60016'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493878175321568'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493878175321324'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493878175320976'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493878175321613'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c64a3738></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c63f2af0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:338)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:282)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableAccessPolicy(MNStorageV2IT.java:204)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:338)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:282)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableAccessPolicy(MNStorageV2IT.java:204)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:08:58 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742745986688">
<ol start="32" class="pre-context" id="pre139742745986688">
<li onclick="toggle('pre139742745986688', 'post139742745986688')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742745986688', 'post139742745986688')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742745986688', 'post139742745986688')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742745986688', 'post139742745986688')"><pre> """</pre></li>
<li onclick="toggle('pre139742745986688', 'post139742745986688')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742745986688', 'post139742745986688')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742745986688', 'post139742745986688')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742745986688', 'post139742745986688')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742745986688">
<li onclick="toggle('pre139742745986688', 'post139742745986688')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742745986688', 'post139742745986688')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742745986688', 'post139742745986688')"><pre> return response</pre></li>
<li onclick="toggle('pre139742745986688', 'post139742745986688')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742745986688', 'post139742745986688')"><pre></pre></li>
<li onclick="toggle('pre139742745986688', 'post139742745986688')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742745986688')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742745986688">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742756983080">
<ol start="242" class="pre-context" id="pre139742756983080">
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> break</pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre></pre></li>
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742756983080">
<li onclick="toggle('pre139742756983080', 'post139742756983080')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742756983080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742756983080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758320896">
<ol start="171" class="pre-context" id="pre139742758320896">
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre></pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre></pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758320896">
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> break</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre></pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758320896')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758320896">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742735546704">
<ol start="39" class="pre-context" id="pre139742735546704">
<li onclick="toggle('pre139742735546704', 'post139742735546704')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742735546704', 'post139742735546704')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742735546704', 'post139742735546704')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742735546704', 'post139742735546704')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742735546704', 'post139742735546704')"><pre> )</pre></li>
<li onclick="toggle('pre139742735546704', 'post139742735546704')"><pre> )</pre></li>
<li onclick="toggle('pre139742735546704', 'post139742735546704')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742735546704', 'post139742735546704')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742735546704">
<li onclick="toggle('pre139742735546704', 'post139742735546704')"><pre></pre></li>
<li onclick="toggle('pre139742735546704', 'post139742735546704')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742735546704', 'post139742735546704')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742735546704', 'post139742735546704')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742735546704', 'post139742735546704')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742735546704', 'post139742735546704')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735546704')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735546704">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742735545192">
<ol start="60" class="pre-context" id="pre139742735545192">
<li onclick="toggle('pre139742735545192', 'post139742735545192')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742735545192', 'post139742735545192')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742735545192', 'post139742735545192')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742735545192', 'post139742735545192')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742735545192', 'post139742735545192')"><pre></pre></li>
<li onclick="toggle('pre139742735545192', 'post139742735545192')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742735545192', 'post139742735545192')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742735545192', 'post139742735545192')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742735545192">
<li onclick="toggle('pre139742735545192', 'post139742735545192')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742735545192', 'post139742735545192')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742735545192', 'post139742735545192')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742735545192', 'post139742735545192')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742735545192', 'post139742735545192')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742735545192', 'post139742735545192')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735545192')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735545192">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742794309856">
<ol start="58" class="pre-context" id="pre139742794309856">
<li onclick="toggle('pre139742794309856', 'post139742794309856')"><pre> """</pre></li>
<li onclick="toggle('pre139742794309856', 'post139742794309856')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742794309856', 'post139742794309856')"><pre> try:</pre></li>
<li onclick="toggle('pre139742794309856', 'post139742794309856')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742794309856', 'post139742794309856')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742794309856', 'post139742794309856')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742794309856', 'post139742794309856')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742794309856', 'post139742794309856')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742794309856">
<li onclick="toggle('pre139742794309856', 'post139742794309856')"><pre> )</pre></li>
<li onclick="toggle('pre139742794309856', 'post139742794309856')"><pre> else:</pre></li>
<li onclick="toggle('pre139742794309856', 'post139742794309856')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742794309856', 'post139742794309856')"><pre></pre></li>
<li onclick="toggle('pre139742794309856', 'post139742794309856')"><pre></pre></li>
<li onclick="toggle('pre139742794309856', 'post139742794309856')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742794309856')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742794309856">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableReplPolicy_201712323105168'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4787310161057672134.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2920490354434545543.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18966'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=6WgmCiZ18RZZGylqcnybEcvG8Ddrm_noHO'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58530'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493878137984564'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186557ccf0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18654e2130></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:400)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:350)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableReplPolicy(MNStorageV2IT.java:210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:400)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:350)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableReplPolicy(MNStorageV2IT.java:210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:400)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:350)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableReplPolicy(MNStorageV2IT.java:210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:400)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:350)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableReplPolicy(MNStorageV2IT.java:210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:10:21 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562296248">
<ol start="32" class="pre-context" id="pre140358562296248">
<li onclick="toggle('pre140358562296248', 'post140358562296248')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562296248', 'post140358562296248')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562296248', 'post140358562296248')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562296248', 'post140358562296248')"><pre> """</pre></li>
<li onclick="toggle('pre140358562296248', 'post140358562296248')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562296248', 'post140358562296248')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562296248', 'post140358562296248')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562296248', 'post140358562296248')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562296248">
<li onclick="toggle('pre140358562296248', 'post140358562296248')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562296248', 'post140358562296248')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562296248', 'post140358562296248')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562296248', 'post140358562296248')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562296248', 'post140358562296248')"><pre></pre></li>
<li onclick="toggle('pre140358562296248', 'post140358562296248')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562296248')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562296248">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358562299848">
<ol start="242" class="pre-context" id="pre140358562299848">
<li onclick="toggle('pre140358562299848', 'post140358562299848')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358562299848', 'post140358562299848')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358562299848', 'post140358562299848')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358562299848', 'post140358562299848')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562299848', 'post140358562299848')"><pre> break</pre></li>
<li onclick="toggle('pre140358562299848', 'post140358562299848')"><pre></pre></li>
<li onclick="toggle('pre140358562299848', 'post140358562299848')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358562299848', 'post140358562299848')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358562299848">
<li onclick="toggle('pre140358562299848', 'post140358562299848')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562299848')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562299848">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358562296536">
<ol start="171" class="pre-context" id="pre140358562296536">
<li onclick="toggle('pre140358562296536', 'post140358562296536')"><pre></pre></li>
<li onclick="toggle('pre140358562296536', 'post140358562296536')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358562296536', 'post140358562296536')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358562296536', 'post140358562296536')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358562296536', 'post140358562296536')"><pre></pre></li>
<li onclick="toggle('pre140358562296536', 'post140358562296536')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358562296536', 'post140358562296536')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358562296536', 'post140358562296536')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358562296536">
<li onclick="toggle('pre140358562296536', 'post140358562296536')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562296536', 'post140358562296536')"><pre> break</pre></li>
<li onclick="toggle('pre140358562296536', 'post140358562296536')"><pre></pre></li>
<li onclick="toggle('pre140358562296536', 'post140358562296536')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358562296536', 'post140358562296536')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358562296536', 'post140358562296536')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562296536')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562296536">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562297616">
<ol start="44" class="pre-context" id="pre140358562297616">
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> )</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> )</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562297616">
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre></pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562297616', 'post140358562297616')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562297616')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562297616">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562297184">
<ol start="66" class="pre-context" id="pre140358562297184">
<li onclick="toggle('pre140358562297184', 'post140358562297184')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562297184', 'post140358562297184')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562297184', 'post140358562297184')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562297184', 'post140358562297184')"><pre></pre></li>
<li onclick="toggle('pre140358562297184', 'post140358562297184')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562297184', 'post140358562297184')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562297184', 'post140358562297184')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562297184', 'post140358562297184')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562297184">
<li onclick="toggle('pre140358562297184', 'post140358562297184')"><pre> )</pre></li>
<li onclick="toggle('pre140358562297184', 'post140358562297184')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562297184', 'post140358562297184')"><pre> request</pre></li>
<li onclick="toggle('pre140358562297184', 'post140358562297184')"><pre> )</pre></li>
<li onclick="toggle('pre140358562297184', 'post140358562297184')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562297184', 'post140358562297184')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562297184')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562297184">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562298768">
<ol start="62" class="pre-context" id="pre140358562298768">
<li onclick="toggle('pre140358562298768', 'post140358562298768')"><pre> """</pre></li>
<li onclick="toggle('pre140358562298768', 'post140358562298768')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562298768', 'post140358562298768')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562298768', 'post140358562298768')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562298768', 'post140358562298768')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562298768', 'post140358562298768')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562298768', 'post140358562298768')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562298768', 'post140358562298768')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562298768">
<li onclick="toggle('pre140358562298768', 'post140358562298768')"><pre> )</pre></li>
<li onclick="toggle('pre140358562298768', 'post140358562298768')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562298768', 'post140358562298768')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562298768', 'post140358562298768')"><pre></pre></li>
<li onclick="toggle('pre140358562298768', 'post140358562298768')"><pre></pre></li>
<li onclick="toggle('pre140358562298768', 'post140358562298768')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562298768')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562298768">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableReplPolicy_2017123231021131'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6665740513124624740.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2077053873004112961.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18966'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=5Lqe84QS__23jb5MxLRDOtqbUI6eczypZ0'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'60174'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493878221296221'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493878221296012'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493878221295715'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493878221296266'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c54a7738></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c652f8b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:400)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:350)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableReplPolicy(MNStorageV2IT.java:210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:400)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:350)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableReplPolicy(MNStorageV2IT.java:210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:09:18 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758747672">
<ol start="32" class="pre-context" id="pre139742758747672">
<li onclick="toggle('pre139742758747672', 'post139742758747672')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758747672', 'post139742758747672')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758747672', 'post139742758747672')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758747672', 'post139742758747672')"><pre> """</pre></li>
<li onclick="toggle('pre139742758747672', 'post139742758747672')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758747672', 'post139742758747672')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758747672', 'post139742758747672')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758747672', 'post139742758747672')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758747672">
<li onclick="toggle('pre139742758747672', 'post139742758747672')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758747672', 'post139742758747672')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758747672', 'post139742758747672')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758747672', 'post139742758747672')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758747672', 'post139742758747672')"><pre></pre></li>
<li onclick="toggle('pre139742758747672', 'post139742758747672')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758747672')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758747672">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758747168">
<ol start="242" class="pre-context" id="pre139742758747168">
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> break</pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre></pre></li>
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758747168">
<li onclick="toggle('pre139742758747168', 'post139742758747168')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758747168')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758747168">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758746880">
<ol start="171" class="pre-context" id="pre139742758746880">
<li onclick="toggle('pre139742758746880', 'post139742758746880')"><pre></pre></li>
<li onclick="toggle('pre139742758746880', 'post139742758746880')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758746880', 'post139742758746880')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758746880', 'post139742758746880')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758746880', 'post139742758746880')"><pre></pre></li>
<li onclick="toggle('pre139742758746880', 'post139742758746880')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758746880', 'post139742758746880')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758746880', 'post139742758746880')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758746880">
<li onclick="toggle('pre139742758746880', 'post139742758746880')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758746880', 'post139742758746880')"><pre> break</pre></li>
<li onclick="toggle('pre139742758746880', 'post139742758746880')"><pre></pre></li>
<li onclick="toggle('pre139742758746880', 'post139742758746880')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758746880', 'post139742758746880')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758746880', 'post139742758746880')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758746880')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758746880">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758744576">
<ol start="39" class="pre-context" id="pre139742758744576">
<li onclick="toggle('pre139742758744576', 'post139742758744576')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758744576', 'post139742758744576')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758744576', 'post139742758744576')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758744576', 'post139742758744576')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758744576', 'post139742758744576')"><pre> )</pre></li>
<li onclick="toggle('pre139742758744576', 'post139742758744576')"><pre> )</pre></li>
<li onclick="toggle('pre139742758744576', 'post139742758744576')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758744576', 'post139742758744576')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758744576">
<li onclick="toggle('pre139742758744576', 'post139742758744576')"><pre></pre></li>
<li onclick="toggle('pre139742758744576', 'post139742758744576')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758744576', 'post139742758744576')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758744576', 'post139742758744576')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758744576', 'post139742758744576')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758744576', 'post139742758744576')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758744576')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758744576">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758746232">
<ol start="60" class="pre-context" id="pre139742758746232">
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre></pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758746232">
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758746232', 'post139742758746232')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758746232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758746232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758746088">
<ol start="58" class="pre-context" id="pre139742758746088">
<li onclick="toggle('pre139742758746088', 'post139742758746088')"><pre> """</pre></li>
<li onclick="toggle('pre139742758746088', 'post139742758746088')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758746088', 'post139742758746088')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758746088', 'post139742758746088')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758746088', 'post139742758746088')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758746088', 'post139742758746088')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758746088', 'post139742758746088')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758746088', 'post139742758746088')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758746088">
<li onclick="toggle('pre139742758746088', 'post139742758746088')"><pre> )</pre></li>
<li onclick="toggle('pre139742758746088', 'post139742758746088')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758746088', 'post139742758746088')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758746088', 'post139742758746088')"><pre></pre></li>
<li onclick="toggle('pre139742758746088', 'post139742758746088')"><pre></pre></li>
<li onclick="toggle('pre139742758746088', 'post139742758746088')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758746088')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758746088">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier_2017123231028542'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.260644030147020504.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.823122083560092044.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'18985'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=uCEa_5BA415OvcCx2TZGtjEYnmH83BDo0QWa'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58620'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493878158733501'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186593f870></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186593f4b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(UpdateSystemMetadataTestImplementations.java:327)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(UpdateSystemMetadataTestImplementations.java:293)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(MNStorageV2IT.java:241)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(UpdateSystemMetadataTestImplementations.java:327)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(UpdateSystemMetadataTestImplementations.java:293)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(MNStorageV2IT.java:241)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(UpdateSystemMetadataTestImplementations.java:327)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(UpdateSystemMetadataTestImplementations.java:293)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(MNStorageV2IT.java:241)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(UpdateSystemMetadataTestImplementations.java:327)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(UpdateSystemMetadataTestImplementations.java:293)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(MNStorageV2IT.java:241)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:10:32 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358531802464">
<ol start="32" class="pre-context" id="pre140358531802464">
<li onclick="toggle('pre140358531802464', 'post140358531802464')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358531802464', 'post140358531802464')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358531802464', 'post140358531802464')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358531802464', 'post140358531802464')"><pre> """</pre></li>
<li onclick="toggle('pre140358531802464', 'post140358531802464')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358531802464', 'post140358531802464')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358531802464', 'post140358531802464')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358531802464', 'post140358531802464')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358531802464">
<li onclick="toggle('pre140358531802464', 'post140358531802464')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358531802464', 'post140358531802464')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358531802464', 'post140358531802464')"><pre> return response</pre></li>
<li onclick="toggle('pre140358531802464', 'post140358531802464')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358531802464', 'post140358531802464')"><pre></pre></li>
<li onclick="toggle('pre140358531802464', 'post140358531802464')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531802464')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531802464">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358534290680">
<ol start="242" class="pre-context" id="pre140358534290680">
<li onclick="toggle('pre140358534290680', 'post140358534290680')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358534290680', 'post140358534290680')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358534290680', 'post140358534290680')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358534290680', 'post140358534290680')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534290680', 'post140358534290680')"><pre> break</pre></li>
<li onclick="toggle('pre140358534290680', 'post140358534290680')"><pre></pre></li>
<li onclick="toggle('pre140358534290680', 'post140358534290680')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358534290680', 'post140358534290680')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358534290680">
<li onclick="toggle('pre140358534290680', 'post140358534290680')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534290680')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534290680">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358563611928">
<ol start="171" class="pre-context" id="pre140358563611928">
<li onclick="toggle('pre140358563611928', 'post140358563611928')"><pre></pre></li>
<li onclick="toggle('pre140358563611928', 'post140358563611928')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358563611928', 'post140358563611928')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358563611928', 'post140358563611928')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358563611928', 'post140358563611928')"><pre></pre></li>
<li onclick="toggle('pre140358563611928', 'post140358563611928')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358563611928', 'post140358563611928')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358563611928', 'post140358563611928')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358563611928">
<li onclick="toggle('pre140358563611928', 'post140358563611928')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358563611928', 'post140358563611928')"><pre> break</pre></li>
<li onclick="toggle('pre140358563611928', 'post140358563611928')"><pre></pre></li>
<li onclick="toggle('pre140358563611928', 'post140358563611928')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358563611928', 'post140358563611928')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358563611928', 'post140358563611928')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563611928')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563611928">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358563612792">
<ol start="44" class="pre-context" id="pre140358563612792">
<li onclick="toggle('pre140358563612792', 'post140358563612792')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358563612792', 'post140358563612792')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358563612792', 'post140358563612792')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358563612792', 'post140358563612792')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358563612792', 'post140358563612792')"><pre> )</pre></li>
<li onclick="toggle('pre140358563612792', 'post140358563612792')"><pre> )</pre></li>
<li onclick="toggle('pre140358563612792', 'post140358563612792')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358563612792', 'post140358563612792')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358563612792">
<li onclick="toggle('pre140358563612792', 'post140358563612792')"><pre></pre></li>
<li onclick="toggle('pre140358563612792', 'post140358563612792')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358563612792', 'post140358563612792')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358563612792', 'post140358563612792')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358563612792', 'post140358563612792')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358563612792', 'post140358563612792')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563612792')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563612792">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358563612648">
<ol start="66" class="pre-context" id="pre140358563612648">
<li onclick="toggle('pre140358563612648', 'post140358563612648')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358563612648', 'post140358563612648')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358563612648', 'post140358563612648')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358563612648', 'post140358563612648')"><pre></pre></li>
<li onclick="toggle('pre140358563612648', 'post140358563612648')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358563612648', 'post140358563612648')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358563612648', 'post140358563612648')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358563612648', 'post140358563612648')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358563612648">
<li onclick="toggle('pre140358563612648', 'post140358563612648')"><pre> )</pre></li>
<li onclick="toggle('pre140358563612648', 'post140358563612648')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358563612648', 'post140358563612648')"><pre> request</pre></li>
<li onclick="toggle('pre140358563612648', 'post140358563612648')"><pre> )</pre></li>
<li onclick="toggle('pre140358563612648', 'post140358563612648')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358563612648', 'post140358563612648')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358563612648')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358563612648">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358531802392">
<ol start="62" class="pre-context" id="pre140358531802392">
<li onclick="toggle('pre140358531802392', 'post140358531802392')"><pre> """</pre></li>
<li onclick="toggle('pre140358531802392', 'post140358531802392')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358531802392', 'post140358531802392')"><pre> try:</pre></li>
<li onclick="toggle('pre140358531802392', 'post140358531802392')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358531802392', 'post140358531802392')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358531802392', 'post140358531802392')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358531802392', 'post140358531802392')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358531802392', 'post140358531802392')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358531802392">
<li onclick="toggle('pre140358531802392', 'post140358531802392')"><pre> )</pre></li>
<li onclick="toggle('pre140358531802392', 'post140358531802392')"><pre> else:</pre></li>
<li onclick="toggle('pre140358531802392', 'post140358531802392')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358531802392', 'post140358531802392')"><pre></pre></li>
<li onclick="toggle('pre140358531802392', 'post140358531802392')"><pre></pre></li>
<li onclick="toggle('pre140358531802392', 'post140358531802392')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358531802392')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358531802392">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/object">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier_2017123231032695'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4154932999638344861.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2467537124944308350.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTENT_LENGTH</td>
<td class="code"><pre>'19001'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=W6OLt-Zm1W3-dZlC-xIMYxErGtpC-pIlm25AdS-J'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'60215'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493878232741248'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493878232741087'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493878232740847'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493878232741277'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c495adf8></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c7925bb0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(UpdateSystemMetadataTestImplementations.java:327)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(UpdateSystemMetadataTestImplementations.java:293)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(MNStorageV2IT.java:241)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(UpdateSystemMetadataTestImplementations.java:327)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(UpdateSystemMetadataTestImplementations.java:293)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(MNStorageV2IT.java:241)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:09:29 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742735545696">
<ol start="32" class="pre-context" id="pre139742735545696">
<li onclick="toggle('pre139742735545696', 'post139742735545696')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742735545696', 'post139742735545696')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742735545696', 'post139742735545696')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742735545696', 'post139742735545696')"><pre> """</pre></li>
<li onclick="toggle('pre139742735545696', 'post139742735545696')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742735545696', 'post139742735545696')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742735545696', 'post139742735545696')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742735545696', 'post139742735545696')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742735545696">
<li onclick="toggle('pre139742735545696', 'post139742735545696')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742735545696', 'post139742735545696')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742735545696', 'post139742735545696')"><pre> return response</pre></li>
<li onclick="toggle('pre139742735545696', 'post139742735545696')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742735545696', 'post139742735545696')"><pre></pre></li>
<li onclick="toggle('pre139742735545696', 'post139742735545696')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735545696')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735545696">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742735544688">
<ol start="242" class="pre-context" id="pre139742735544688">
<li onclick="toggle('pre139742735544688', 'post139742735544688')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742735544688', 'post139742735544688')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742735544688', 'post139742735544688')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742735544688', 'post139742735544688')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742735544688', 'post139742735544688')"><pre> break</pre></li>
<li onclick="toggle('pre139742735544688', 'post139742735544688')"><pre></pre></li>
<li onclick="toggle('pre139742735544688', 'post139742735544688')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742735544688', 'post139742735544688')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742735544688">
<li onclick="toggle('pre139742735544688', 'post139742735544688')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735544688')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735544688">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742766820240">
<ol start="171" class="pre-context" id="pre139742766820240">
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre></pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre></pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742766820240">
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> break</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre></pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742766820240', 'post139742766820240')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742766820240')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742766820240">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908',), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758320896">
<ol start="39" class="pre-context" id="pre139742758320896">
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> )</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> )</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758320896">
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre></pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758320896', 'post139742758320896')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758320896')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758320896">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7f1866315230></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742737546344">
<ol start="60" class="pre-context" id="pre139742737546344">
<li onclick="toggle('pre139742737546344', 'post139742737546344')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742737546344', 'post139742737546344')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742737546344', 'post139742737546344')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742737546344', 'post139742737546344')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742737546344', 'post139742737546344')"><pre></pre></li>
<li onclick="toggle('pre139742737546344', 'post139742737546344')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742737546344', 'post139742737546344')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742737546344', 'post139742737546344')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742737546344">
<li onclick="toggle('pre139742737546344', 'post139742737546344')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742737546344', 'post139742737546344')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742737546344', 'post139742737546344')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742737546344', 'post139742737546344')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742737546344', 'post139742737546344')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742737546344', 'post139742737546344')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737546344')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737546344">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742735544832">
<ol start="58" class="pre-context" id="pre139742735544832">
<li onclick="toggle('pre139742735544832', 'post139742735544832')"><pre> """</pre></li>
<li onclick="toggle('pre139742735544832', 'post139742735544832')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742735544832', 'post139742735544832')"><pre> try:</pre></li>
<li onclick="toggle('pre139742735544832', 'post139742735544832')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742735544832', 'post139742735544832')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742735544832', 'post139742735544832')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742735544832', 'post139742735544832')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742735544832', 'post139742735544832')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742735544832">
<li onclick="toggle('pre139742735544832', 'post139742735544832')"><pre> )</pre></li>
<li onclick="toggle('pre139742735544832', 'post139742735544832')"><pre> else:</pre></li>
<li onclick="toggle('pre139742735544832', 'post139742735544832')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742735544832', 'post139742735544832')"><pre></pre></li>
<li onclick="toggle('pre139742735544832', 'post139742735544832')"><pre></pre></li>
<li onclick="toggle('pre139742735544832', 'post139742735544832')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735544832')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735544832">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'58661'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493878169049441'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1865592130></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18655921f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.lternet.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231039908 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(UpdateSystemMetadataTestImplementations.java:367)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(UpdateSystemMetadataTestImplementations.java:337)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(MNStorageV2IT.java:247)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(UpdateSystemMetadataTestImplementations.java:372)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(UpdateSystemMetadataTestImplementations.java:337)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(MNStorageV2IT.java:247)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest exception. Got: org.dataone.integration.TestIterationEndingException: unexpected client-side exception encountered when trying to create test object : Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(UpdateSystemMetadataTestImplementations.java:372)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(UpdateSystemMetadataTestImplementations.java:337)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(MNStorageV2IT.java:247)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://dataone-test.researchworkspace.com/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045480 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(UpdateSystemMetadataTestImplementations.java:367)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(UpdateSystemMetadataTestImplementations.java:337)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(MNStorageV2IT.java:247)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636</title>
<style type="text/css">
html * { padding:0; margin:0; }
body * { padding:10px 20px; }
body * * { padding:0; }
body { font:small sans-serif; }
body>div { border-bottom:1px solid #ddd; }
h1 { font-weight:normal; }
h2 { margin-bottom:.8em; }
h2 span { font-size:80%; color:#666; font-weight:normal; }
h3 { margin:1em 0 .5em 0; }
h4 { margin:0 0 .5em 0; font-weight: normal; }
code, pre { font-size: 100%; white-space: pre-wrap; }
table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
tbody td, tbody th { vertical-align:top; padding:2px 3px; }
thead th {
padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
font-weight:normal; font-size:11px; border:1px solid #ddd;
}
tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
table.vars { margin:5px 0 2px 40px; }
table.vars td, table.req td { font-family:monospace; }
table td.code { width:100%; }
table td.code pre { overflow:hidden; }
table.source th { color:#666; }
table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
ul.traceback { list-style-type:none; color: #222; }
ul.traceback li.frame { padding-bottom:1em; color:#666; }
ul.traceback li.user { background-color:#e0e0e0; color:#000 }
div.context { padding:10px 0; overflow:hidden; }
div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
div.context ol.context-line li span { position:absolute; right:32px; }
.user div.context ol.context-line li { background-color:#bbb; color:#000; }
.user div.context ol li { color:#666; }
div.commands { margin-left: 40px; }
div.commands a { color:#555; text-decoration:none; }
.user div.commands a { color: black; }
#summary { background: #ffc; }
#summary h2 { font-weight: normal; color: #666; }
#explanation { background:#eee; }
#template, #template-not-exist { background:#f6f6f6; }
#template-not-exist ul { margin: 0 0 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#unicode-hint { background:#eee; }
#traceback { background:#eee; }
#requestinfo { background:#f6f6f6; padding-left:120px; }
#summary table { border:none; background:transparent; }
#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
#requestinfo h3 { margin-bottom:-1em; }
.error { background: #ffc; }
.specific { color:#cc3300; font-weight:bold; }
h2 span.commands { font-size:.7em;}
span.commands a:link {color:#5E5694;}
pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
.append-bottom { margin-bottom: 10px; }
</style>
<script type="text/javascript">
//<!--
function getElementsByClassName(oElm, strTagName, strClassName){
// Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
var arrElements = (strTagName == "*" && document.all)? document.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\-");
var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function hideAll(elems) {
for (var e = 0; e < elems.length; e++) {
elems[e].style.display = 'none';
}
}
window.onload = function() {
hideAll(getElementsByClassName(document, 'table', 'vars'));
hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
hideAll(getElementsByClassName(document, 'ol', 'post-context'));
hideAll(getElementsByClassName(document, 'div', 'pastebin'));
}
function toggle() {
for (var i = 0; i < arguments.length; i++) {
var e = document.getElementById(arguments[i]);
if (e) {
e.style.display = e.style.display == 'none' ? 'block': 'none';
}
}
return false;
}
function varToggle(link, id) {
toggle('v' + id);
var s = link.getElementsByTagName('span')[0];
var uarr = String.fromCharCode(0x25b6);
var darr = String.fromCharCode(0x25bc);
s.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>GET</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 06:10:45 +0000</td>
</tr>
</table>
</div>
<div id="traceback">
<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
Switch to copy-and-paste view</a></span>
</h2>
<div id="browserTraceback">
<ul class="traceback">
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358562296320">
<ol start="32" class="pre-context" id="pre140358562296320">
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> """</pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358562296320">
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> return response</pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre></pre></li>
<li onclick="toggle('pre140358562296320', 'post140358562296320')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562296320')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562296320">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358534307568">
<ol start="242" class="pre-context" id="pre140358534307568">
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> break</pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre></pre></li>
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358534307568">
<li onclick="toggle('pre140358534307568', 'post140358534307568')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358534307568')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358534307568">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d4087c10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358562715552">
<ol start="171" class="pre-context" id="pre140358562715552">
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre></pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre></pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358562715552">
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> break</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre></pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358562715552', 'post140358562715552')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562715552')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562715552">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636',)</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.restrict_to_verb.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d538c950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358562716776">
<ol start="44" class="pre-context" id="pre140358562716776">
<li onclick="toggle('pre140358562716776', 'post140358562716776')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358562716776', 'post140358562716776')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358562716776', 'post140358562716776')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358562716776', 'post140358562716776')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358562716776', 'post140358562716776')"><pre> )</pre></li>
<li onclick="toggle('pre140358562716776', 'post140358562716776')"><pre> )</pre></li>
<li onclick="toggle('pre140358562716776', 'post140358562716776')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358562716776', 'post140358562716776')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358562716776">
<li onclick="toggle('pre140358562716776', 'post140358562716776')"><pre></pre></li>
<li onclick="toggle('pre140358562716776', 'post140358562716776')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358562716776', 'post140358562716776')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358562716776', 'post140358562716776')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358562716776', 'post140358562716776')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358562716776', 'post140358562716776')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562716776')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562716776">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>(u'testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636',)</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function get_meta at 0x7fa7c6d3c1b8></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358562715264">
<ol start="66" class="pre-context" id="pre140358562715264">
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre></pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358562715264">
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> )</pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> request</pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> )</pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358562715264', 'post140358562715264')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562715264')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562715264">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358562714832">
<ol start="62" class="pre-context" id="pre140358562714832">
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> """</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> try:</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358562714832">
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> )</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> else:</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre></pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre></pre></li>
<li onclick="toggle('pre140358562714832', 'post140358562714832')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358562714832')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358562714832">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636'></pre></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title"
value="InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:
Request Method: GET
Request URL: https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
</div>
<div id="requestinfo">
<h2>Request information</h2>
<h3 id="get-info">GET</h3>
<p>No GET data</p>
<h3 id="post-info">POST</h3>
<p>No POST data</p>
<h3 id="files-info">FILES</h3>
<p>No FILES data</p>
<h3 id="cookie-info">COOKIES</h3>
<p>No cookie data</p>
<h3 id="meta-info">META</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'60265'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'GET'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493878245676264'</pre></td>
</tr>
<tr>
<td>mod_wsgi.enable_sendfile</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.handler_script</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493878245676123'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493878245675900'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493878245676295'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c493dcd8></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c73d9f30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_HTTPONLY</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_PROPAGATE_EXCEPTIONS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_HTTPONLY</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</pre></td>
</tr>
</tbody>
</table>
</div>
<div id="explanation">
<p>
You're seeing this error because you have <code>DEBUG = True</code> in your
Django settings file. Change that to <code>False</code>, and Django will
display a standard page generated by the handler for this status code.
</p>
</div>
</body>
</html>
[for host GET https://gmn-s.edirepository.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045636 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(UpdateSystemMetadataTestImplementations.java:367)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(UpdateSystemMetadataTestImplementations.java:337)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(MNStorageV2IT.java:247)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host GET https://ncei.nceas.ucsb.edu/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize2017123231045783 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(UpdateSystemMetadataTestImplementations.java:367)
at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(UpdateSystemMetadataTestImplementations.java:337)
at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(MNStorageV2IT.java:247)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)